15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > CSS响应式布局

CSS响应式布局

时间:2023-09-02 23:30:01 | 来源:网站运营

时间:2023-09-02 23:30:01 来源:网站运营

CSS响应式布局:

设置meta标签中 name="viewport"

设置视图标签(viewport)来告诉浏览器,使用设备的宽度作为视图宽度并禁止初始的缩放。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

Media Queries 媒体查询

代码

/* 随着屏幕宽度增大或减小的时候,后面的样式会覆盖前面的样式 *//* 移动端优先使用min-width *//* iphone6 7 8 plus */@media screen and (min-width: 414px) { body { background-color: blue; }}/* ipad */@media screen and (min-width: 768px) { body { background-color: green; }}/* PC端优先使用max-width *//* pc width > 1024px */ body { background-color: yellow; }/* ipad pro */@media screen and (max-width: 1024px) { body { background-color: #FF00FF; }}百分比布局


缺点
各属性使用百分比,相对父元素的属性并不是唯一的。导致百分比布局很复杂。
rem布局
em 和 rem 是什么


rem 布局的要点


  1. 根元素的 font-size 提供了一个基准,其他元素以 rem 为固定单位定义大小。
  2. 需要根据视图容器的大小,动态的改变根元素 font-size,其他元素也会发生响应式的变化。
  3. 在CSS样式之前要写一段JS代码,动态控制根元素 font-size 的大小。
代码
添加resize事件监听,回调函数可以改变rem的大小

function refreshRem() { var docEl = doc.documentElement; var width = docEl.getBoundingClientRect().width; var rem = width / 10; docEl.style.fontSize = rem + 'px'; flexible.rem = win.rem = rem;}win.addEventListener('resize', refreshRem);利用媒体查询,以rem为单位设置不同尺寸设备下的字体大小

/* ipad pro */@media screen and (max-width: 1024px) { body { background-color: #FF00FF; font-size: 1.4rem; }}视口单位

使用 vw 作为 CSS 单位

图片响应式

使用 max-width

img { display: inline-block; // 元素相对于周围内容以内联形式呈现,但可以设置宽度和高度 max-width: 100%; height: auto; // 保证图片进行等比缩放而不至于失真}max-width 保证图片最大宽度为其容器的100%。如果图片宽度超过了其容器,图片会缩放,占满最大可用空间。

不能用 width: 100% 。这条规则会导致他显示的跟容器始终一样宽。在容器比图片宽的多的情况下,图片被无限拉伸。


使用 background-image

.banner{ background-image: url(/static/large.jpg);}@media screen and (max-width: 767px){ background-image: url(/static/small.jpg);}

成型方案

作者:前端蔡徐坤
链接:https://juejin.im/post/6870809105095720973
来源:掘金

关键词:布局,响应

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭