响应式布局

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; }




 

以上是关于响应式布局的主要内容,如果未能解决你的问题,请参考以下文章

一行 CSS 代码实现响应式布局 – 使用 Grid 实现的响应式布局

H5响应式布局 响应式图片 响应式布局网站怎么写?

响应式布局

grid实现响应式布局

响应式布局

响应式布局