淘宝的手机网页一直是我所向往的??通过rem做的真正的响应式,但是总感觉更原先在pc上的做法大相径庭,也许是我理解不到。周末无意中发现小米的手机网页也是用em方式写的,看源码发现这正是我所追求的响应式wap网页。记录学习之~
网址:http://m.mi.com
基础设置
- a标签去点击背景蓝色-webkit-tap-highlight-color: rgba(0,0,0,0);
- 禁用Webkit内核浏览器的文字大小调整功能-webkit-text-size-adjust: none;
- 允许长单词换行到下一行word-wrap:break-word;
元素单位(em)
- 包括:padding、margin、width、height、font-size、line-height等
-
通过全局的body设置基准字号
body { font-size: 20px;}@media only screen and (max-width: 710px) and (min-width: 640px)body { font-size: 17.77778px;}
iconFont
全局样式设置
@font-face { font-family: iconfont; src: url(/static/fonts/iconfont_2337a86.eot?9owfml); src: url(/static/fonts/iconfont_2337a86.eot?#iefix9owfml) format("embedded-opentype"),url(/static/fonts/iconfont_53935e1.woff?9owfml) format("woff"),url(/static/fonts/iconfont_bfbfeef.ttf?9owfml) format("truetype"),url(/static/fonts/iconfont_7a400bd.svg?9owfml#icomoon) format("svg"); font-weight: 400; font-style: normal}[class^=icon-], [class*=" icon-"], .iconfont { font-family: iconfont!important; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
增加iconfont元素
.page-index .nav-index li a .icon:before { font-size: 4em; color: #5c6066; line-height: 1.375em;}
.icon-huafeichongzhi:before { content: "\e608";}
其它设置
.page-index .nav-index li a .icon { display: block; margin: 0 auto .5em; width: 5em; height: 5em; -webkit-background-size: 5em 5em; -moz-background-size: 5em 5em; -ms-background-size: 5em 5em; -o-background-size: 5em 5em; background-size: 5em 5em;}
布局
- 用display: table;、display: table-row;、display: table-cell;、border-collapse: collapse;或display: box;、box-flex: 1;代替float:left布局
- 利用:first-child等伪类进行差异处理
图片基于父级的em宽高自适应
.imgurl img { width: 100%;}li, img, label, input { vertical-align: middle;}
- 背景图大小通过background-size: 3.85em 2.7em;设置
内容垂直居中和内容水平居中
div#DemoArea { display: box; box-align: start; -moz-box-align: start; -webkit-box-align: start; box-align: start;}
div#DemoArea { display: box; box-align: start; -moz-box-pack:center; -webkit-box-pack:center; box-pack:center;}
总结反思
- 好多css3新技术应用进来让人耳目一新
- em作为单位还是rem更好操作些吧?