我设计了一个文本区域,使其看起来像三个单独的文本输入框。出于样式目的,需要在每行文本之间分隔一条黑线。
但是,我无法弄清楚如何对齐文本,使他们感觉到各个部分的中心。任何人都可以伸出援手吗?
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;}
答案 0 :(得分:0)
不确定您正在寻找什么完全。你还想要白色的吗?如果你再详细说明,我可以相应地修改我的答案。这是一个可能的解决方案:
.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。你可以简单地给它一个班级.textarea-indent
并通过它来调用它。请参阅Writing Efficient CSS Selectors)