小米商城响应式学习
淘宝的手机网页一直是我所向往的——通过rem做的真正的响应式,但是总感觉更原先在pc上的做法大相径庭,也许是我理解不到。周末无意中发现小米的手机网页也是用em方式写的,看源码发现这正是我所追求的响应式wap网页。记录学习之~
基础设置
- 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更好操作些吧?