将文本添加到div中时为什么会出现间隙?

时间:2013-11-25 05:39:31

标签: html vertical-alignment css

当我向textboxsquare添加文本时,它会在Div上方添加一个空格,为什么会这样,我如何制作它以便没有这个空间并且只与另一个保持一致? http://jsfiddle.net/wK6dp/1/

CSS

#textbox {
   border: 1px solid #848484;
   -moz-border-radius-topleft: 30px;
   -webkit-border-top-left-radius: 30px;
   border-top-left-radius: 30px;
   -moz-border-radius-topright: 30px;
   -webkit-border-top-right-radius: 30px;
   border-top-right-radius: 30px;
   outline:0;
   height:auto;
   display: block;
   box-sizing: border-box;
   width: 300px;
   padding-left:20px;
   padding-right:20px;
   background-color: #f47924;
   margin: 0px;
   font-family: 'Droid Sans', sans-serif;
   text-align:center;
   color:white;
}

#textboxSquare {
   display:inline-block;
   box-sizing: border-box;
   width: 150px;
   height: 150px;
   border: 1px solid #848484;
}

HTML

<div id="textbox">
    <h3>John Smith</h3>
</div>
<div id="textboxSquare"></div>
   <div id="textboxSquare">
       Copy Pasta pasta <br />
       Copy Pasta pasta <br />
       Copy Pasta pasta <br   />
       Copy Pasta pasta<br />
   </div>
</div>

2 个答案:

答案 0 :(得分:0)

使用vertical-align:top

jsFiddle

#textboxSquare {
display: inline-block;
box-sizing: border-box;
width: 150px;
height: 150px;
border: 1px solid #848484;
vertical-align: top;    /*   added   */
}

答案 1 :(得分:0)

首先,您不能在标记中两次使用相同的ID名称。其次,如果您使用display:inline-block,请添加vertical-align:top;以使您的工作正常进行。

<强> WORKING DEMO

CSS更改:

.textboxSquare {
display:inline-block;
box-sizing: border-box;
width: 150px;
height: 150px;
border: 1px solid #848484;
vertical-align:top;
}

PS:我已将id更改为class语义。