CSS布局的一些技巧

本文介绍了使用max-width代替width来改善小窗口浏览体验的方法,探讨了box-sizing属性如何避免内边距和边框增加元素宽度的问题,并展示了如何利用Flexbox实现居中布局。

max-width

通常使元素水平居中用的较多的方法为:

#main {
  width: 600px;
  margin: 0 auto; 
}

但是,当浏览器窗口比元素的宽度还要窄时,浏览器会显示一个水平滚动条来容纳页面,从而影响页面可观性。

max-width 替代 width 可以使浏览器更好地处理小窗口的情况。这点在移动设备上显得尤为重要。

#main {
  width: 600px;
  margin: 0 auto; 
}

目前所有的主流浏览器包括IE7+在内都支持 max-width。

box-sizing

当你设置一个元素为 ==box-sizing: border-box;== 时,此元素的内边距和边框不再会增加它的宽度。

下面的div1和div2宽度相同:

.div1{
  width: 500px;
  margin: 20px auto;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

.div2 {
  width: 500px;
  margin: 20px auto;
  padding: 50px;
  border: solid blue 10px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

一些CSS开发者想要页面上所有的元素都有如此表现。所以开发者们把以下CSS代码放在他们页面上:

* {
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

这样可以确保所有的元素都会用这种更直观的方式排版。

flexbox

使用 Flexbox 居中布局非常方便(详见:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html):

.div {
  height: 300px;
  display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
}

注:文章参考了http://zh.learnlayout.com/

转载于:https://www.cnblogs.com/cckui/p/7456202.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值