响应式布局
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了响应式布局相关的知识,希望对你有一定的参考价值。
目的是实现不同分辨率的终端上浏览网页的不同展示方式。
响应式设计的步骤:
1.设置meta标签 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
因为大多数移动浏览器会将html页面放大为宽的视图,这个标签告诉浏览器使用设备宽度作为视图宽度并禁止初始的缩放。
2.通过媒体查询来设置样式
假如一个终端的分辨率小于 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) {}
注意事项:
1.宽度使用百分比
2.处理图片缩放的方法
2.1简单的解决方法可以使用百分比,会放大或者缩小图片。可以如下设置:
img { width: auto; max-width: 100%; }
2.2用::before
和::after
伪元素 +content 属性来动态显示一些内容或者做其它很酷的事情,在 css3中,任何元素都可以使用 content 属性了,这个方法就是结合 css3 的 attr 属性和 HTML 自定义属性的功能: HTML结构:
<img src="image.jpg" data-src-600px="image-600px.jpg" data-src-800px="image-800px.jpg" >
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 0; text-align: center; }
以上是关于响应式布局的主要内容,如果未能解决你的问题,请参考以下文章