CSS 怎么样垂直居中
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">在 CSS 布局中,<span style="color: black;">咱们</span>经常会遇到一个问题,让某个 DOM 垂直居中在它的父级元素中。这个问题<span style="color: black;">必须</span>分<span style="color: black;">有些</span><span style="color: black;">状况</span>,在<span style="color: black;">区别</span>的<span style="color: black;">状况</span>下采用的<span style="color: black;">方法</span>不<span style="color: black;">同样</span>。</p>
<h2 style="color: black; text-align: left; margin-bottom: 10px;">采用 line-height 属性</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这种方式很<span style="color: black;">平常</span>,当 line-height 和 height 两个属性设置相同的高度时,该元素内部的文字将会居中。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;">#parent {
height: 100px;
line-height: 100px;
border: solid 1px #333;
}</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">优缺点:</p>[优点]设置简单;[缺点]只能对一行文字进行垂直居中;<h2 style="color: black; text-align: left; margin-bottom: 10px;">采用 display:table-cell 和 vertical-align:middle</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这种现实方式<span style="color: black;">能够</span>让标签元素以表格单元格的形式呈现,标签就像 table 中的 td,<span style="color: black;">这般</span>一来<span style="color: black;">咱们</span>就<span style="color: black;">能够</span><span style="color: black;">经过</span>vertical-align:middle这个样式使得其内部的元素居中<span style="color: black;">表示</span>。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;">#parent {
height: 100px;
display: table-cell;
vertical-align: middle;
border: solid 1px #333;
}</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">优缺点:</p>[优点]设置多行文字居中;[缺点]会被其它样式破坏例如:float、position:absolute;<h2 style="color: black; text-align: left; margin-bottom: 10px;">采用 position: absolute 和 margin-top</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">经过</span>绝对定位<span style="color: black;">能够</span>给元素设置距父元素上部top:50%,<span style="color: black;">然则</span>还没结束该元素还<span style="color: black;">必须</span>做<span style="color: black;">必定</span>的偏移才行,偏移量为该元素的一半高度margint-top:-height/2。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;">#parent {
height: 100px;
position: relative;
border: solid 1px #333;
}
#child {
height: 20px;
margin-top: -10px;
position: absolute;
top: 50%;
}</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">优缺点:</p>[优点]居中元素对其它同级元素<span style="color: black;">无</span>影响;[缺点]子元素的高度<span style="color: black;">必须</span>固定;<h2 style="color: black; text-align: left; margin-bottom: 10px;">采用 padding-top 和 padding-bottom</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">这种方式只<span style="color: black;">必须</span>将顶部和底部的padding设置<span style="color: black;">一样</span>高度就行。</p>
<div style="color: black; text-align: left; margin-bottom: 10px;">#parent {
padding-top: 20px;
padding-bottom: 20px;
border: solid 1px #333;
}</div>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">优缺点:</p>[优点]父级元素高度可变;[缺点]父级元素高度可变;<h2 style="color: black; text-align: left; margin-bottom: 10px;">总结</h2>
<p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">垂直居中的方式<span style="color: black;">非常多</span>,都有优缺点,<span style="color: black;">咱们</span><span style="color: black;">必须</span><span style="color: black;">按照</span><span style="color: black;">区别</span>的需求和布局来确定<span style="color: black;">运用</span>哪种<span style="color: black;">方法</span>。</p>
i免费外链发布平台 http://www.fok120.com/ 你的话深深触动了我,仿佛说出了我心里的声音。 可以发布外链的网站 http://www.fok120.com/
页:
[1]