qyl_anikin

css高级布局知识点汇总

1:大小不固定的的div中图片垂直水平居中 display: table ;   display:table-cell    //ie8

.container{
width: 600px;
height: 500px;
margin: 50px auto;
border: 1px solid #ccc;
display: table; /* 作为table元素显示 */
background-color: red;
}
.img{
text-align: center;
vertical-align: middle;
display: table-cell;
}
img{
width: 260px;
height: 350px;
}

<div class="container">
<div class="img">
<img src="https://blog.163.com/qyl_anikin/blog/images/details/des_big.jpg">
</div>
</div>

实现原理: 中间嵌套一个div块居中
2: 左右浮动,不使用float布局,兼容ie8

* {
box-sizing: border-box;
}
.content {
display: table;
border: 1px solid #06c;
padding: 15px 5px;
max-width: 1000px;
margin: 10px auto;
min-width: 320px;
width: 100%;
}
.box {
width: 100px;
height: 100px;
border: 1px solid #ccc;
text-align: center;
display: inline-block;
font-size: 40px;
line-height: 100px;
}
.right {
text-align: right;
display: table-cell

}
.left {
text-align: left;
display: table-cell

}

<div class="content">
<div class="left">
<div class="box">B</div>
</div>
<div class="right">
<div class="box">A</div>
</div>
</div>

css高级布局知识点汇总 - 眷恋天空的驴 - fighting~~~

 
3: 解决浮动问题的ul 中li 如何平均分配,传统的是20%的宽,但是面临的是最后一个一般都会掉下来,除了弹性盒子布局之外。ie8以上:可以在div任意随意添加个数都是平均分配

ul{
width:998px;
border:1px solid #000;
height: 150px;
clear:both;
margin-left:50px;
overflow: hidden;
display: table;

}
ul li{
height: 100px;
display: table-cell;
border:1px solid red;
border-right:none;
}

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>4</li>
<li>5</li>
</ul>

说明:这个属性是ie8以上的,如果需要精细全兼容,则可以使用js来布局。
上一篇 下一篇
评论
©qyl_anikin | Powered by LOFTER