gpt4 book ai didi

javascript - 风格化文本区域看起来像单独的输入框

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:46 25 4
gpt4 key购买 nike

我设计了一个文本区域,使其看起来像三个独立的文本输入框。出于样式目的,需要用黑线分隔每行文本。

但是,我不知道如何对齐文本,使它们感觉在各自的部分居中。谁能伸出援手?

jsfiddle example

HTML

<div id="formPage">
<div id="formBox">
<div class="formSection" style="border:1px solid black;">
<div class="formLine" style="height:49px;position:relative;">
<div class="indent">This is a needed label that I put over the textarea that describes what people are filling out.</div>
<div class="whiteIndent"></div>
<div class="borderIndent"></div>
<div class="whiteIndent2"></div>
<div class="borderIndent2"></div>
<textarea name="text1" class="indent" rows="3" maxlength="360"></textarea>
</div>
</div>
</div>

CSS

* { }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

#formPage {
font-family: 'Arial Narrow', Arial, sans-serif;font-size:13px;
background:#fff;
border: 1px solid #d8d8d8;
border-bottom-width: 2px;
border-top-width: 0;
width:910px;
margin:0 auto;
padding:30px;
height:100px;
}

.formLine > textarea.indent {
position:absolute;
font-family: 'Arial Narrow', Arial, sans-serif;
font-size:13px;
background-color:#E2F4FE;
width:818px;
z-index:0;
top:0px;
padding: 0;
outline: 0;
border:0;
resize:none;
overflow:hidden;
box-sizing: border-box;
}
.formLine > div.indent { position:absolute;z-index:2;top:0;background-color:#fff;padding:2px 2px 2px 1px; }
.formLine > div.whiteIndent { position:absolute;z-index:2;top:16px;width:820px;height:3px;background-color:#fff; }
.formLine > div.borderIndent { position:absolute;z-index:2;top:17px;left:0;border-top:1px solid #000;width:823px;height:1px; }
.formLine > div.whiteIndent2 { position:absolute;z-index:2;top:32px;width:820px;height:3px;background-color:#fff; }
.formLine > div.borderIndent2 { position:absolute;z-index:2;top:33px;left:0;border-top:1px solid #000;width:823px;height:1px; }

.formSection { float:left;width:825px;border-right:2px solid #000;border-bottom:1px solid #000;font-size:13px;}

最佳答案

不确定究竟您在寻找什么。你还想要白色的碎片吗?如果您详细说明一下,我可以相应地修改我的答案。这是一个可能的解决方案:

http://jsfiddle.net/rY9um/1/

.formLine > textarea.indent { 
margin: 0;
line-height: 17px;
}

.formLine > div.indent {
/* remove padding:2px 2px 2px 1px; from css - you can use line-height to achieve the same effect and consistency */
line-height: 17px;
}

设置line-height到您希望每行文本占据的高度。这允许您设置较小的字体大小 (13px),同时使文本行仍然占用 17px 的高度。

(稍微不相关的说明,清理您的 CSS 并使用更好的命名约定将帮助您更好地理解它。例如,实际上没有必要通过 .formLine > textarea.indent 调用文本区域。您可以简单地给它一个类.textarea-indent 并以此命名。参见 Writing Efficient CSS Selectors )

关于javascript - 风格化文本区域看起来像单独的输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19864482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com