單行div的高度
- 字與字之間是通過基線對齊的.
- 每個字型有不同的建議行高.
- line-height可以規定固定的行高
- 行高決定div的高度
多個 連續 空格/回車/tab等會被識別為一個空格,"& nbsp"類似於空格,不同字型的空格大小不同,所以不要使用"& nbsp"來做樣式.
如何實現單行文字兩端對齊:
<div>
<span>姓名</span><br>
<span>聯絡方式</span>
</div>
複製程式碼
span{
display: inline-block;
width: 4em;
text-align: justify;
overflow: hidden;
}
span::after{
content: '';
display: inline-block;
width: 100%;
}
複製程式碼
單行/多行文字溢位(省略號):
單行
selector{
overflow: hidden;
text-overflow: ellipsis;
}
複製程式碼
多行:
selector{
word-break: break-all;
display: -webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow: hidden;
}
複製程式碼
文字居中
text-align: center;
line-height: 20px;
padding: 10px; //固有高度內垂直居中
複製程式碼
margin合併
塊級元素的上外邊距和下外邊距有時會合併為一個外邊距,其大小取其中的最大者,這種現象稱為margin合併.通過設定border/padding/overflow:hidden來去除合併.
div的高度是由內部文件流中元素的高度的總和決定的.
文件流是內聯元素從左到右依次排列,寬度不夠從下一行繼續從左到右排列(內聯元素的padding\margin和border只會影響其寬度).塊級元素從上到下,依次排列,每一個都另起一行.
既然說到了文件流,就說一下脫離文件流.脫離文件流的元素不會再佔用原來的空間,即原來的高度變小減去脫離文件流元素的高度,就像"浮在"文件流的上面.脫離文件流的方法有 float:left / position:absolute / position:fixed
等,要注意position:relative
並不會脫離文件流.
div居中
<div class='parent'>
<div class='son'>
</div>
</div>
複製程式碼
body{
margin: 0;
}
.parent{
height: 100vh;
border:2px solid cyan;
box-sizing: border-box;
}
.son{
background: red;
width:100px;
height:100px;
position: absolute;
top:0;
bottom:0;
left:0;
right:0;
margin: auto;
}
複製程式碼
如此能實現定寬定高的div元素的垂直與水平方向的居中.不指定寬高的xy方向居中方式為:
body{
margin: 0;
}
.parent{
height: 100vh;
border:2px solid cyan;
box-sizing: border-box;
display:flex;
justify-content: center;
align-items: center;
}
.son{
background: red;
width:100px;
height:100px;
}
複製程式碼