1、设置meta标签
user-scalable = no 属性能够解决 iPad 切换横屏之后触摸才能回到具体尺寸的问题
2、通过媒介查询来设置样式(Media Queries)
假如一个终端的分辨率小于 980px,可以这样写:
@media screen and (max-width: 980px) { #head { … } #content { … } #footer { … } }
这里的样式就会覆盖上面已经定义好的样式。
3、设置多种试图宽度
假如要设定兼容 iPad 和iPhone的视图,可以这样设置:
/** iPad **/ @media only screen and (min-width: 768px) and (max-width: 1024px) {} /** iPhone **/ @media only screen and (min-width: 320px) and (max-width: 767px) {}
4、需要注意的点
(1)宽度需要使用百分比
(2)处理图片缩放的方法
可以使用百分比,但这样不友好,会放大或者缩小图片。
可以尝试给图片指定的最大宽度为百分比,假如图片超过了,就缩小;假如图片小了,就原尺寸输出。
img { width: auto; max-width: 100%; }
用 ::before
和 ::after
伪元素 +content 属性来动态显示一些内容或者做其它很酷的事情,在css3中,任何元素都可以使用 content 属性了,这个方法就是结合 css3 的 attr 属性和 HTML 自定义属性的功能: HTML 结构:
CSS控制:
@media (min-device-width:600px) { img[data-src-600px] { content: attr(data-src-600px, url); } } @media (min-device-width:800px) { img[data-src-800px] { content: attr(data-src-800px, url); }}
(3)其他属性
例如 pre
,iframe,video
等,都需要和img
一样控制好宽度。对于table
,建议不要增加 padding 属性,低分辨率下使用内容居中:
table th, table td { padding: 0 ; text-align: center; }