Advertisement

通过CSS3的vw和rem属性,可以构建不依赖JavaScript的响应式布局方法。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
1、在开始之前,我们首先简要地了解一下vw和rem这两个CSS3单位,以及它们各自的功能。vw,即“view width”的缩写,是在当前屏幕宽度基础上进行划分的,具体来说,1vw代表屏幕总宽度的1%。与之相对应的是vh,它基于屏幕的高度进行划分,1vh则表示屏幕总高的1%。通常情况下,我们倾向于使用vw单位来适应响应式设计。 2、rem作为一种相对长度单位,其特性在于它相对于根元素(即HTML元素)的字体大小进行计算。换句话说,如果HTML文档中设置了根元素的字体大小为20像素,那么页面中的1rem值就等同于20像素。例如: Rem Example

This is a paragraph with a font size of 20px. A 1rem element will be 20px.

全部评论 (0)

还没有任何评论哟~
客服
客服
  • CSS3在移动端使用vwrem实现无需JS
    优质
    本文介绍如何利用CSS3中的vw和rem单位在移动设备上创建响应式的网页布局,整个过程无需借助JavaScript,帮助开发者简化代码并提高性能。 在使用之前,我们先简单了解一下vw和rem及其作用。 1. **vw/vh介绍**:vw是CSS3引入的一个新单位,“view width”的缩写,定义为将当前屏幕宽度分成一百份,即1vw等于屏幕宽度的1%;vh与此类似,代表“view height”,表示把高度分成一百份,因此1vh等于屏幕高度的1%,通常我们使用vw来实现响应式布局。 2. **rem介绍**:rem是相对长度单位。它相对于根元素(通常是html)字体大小的比例值计算而来。例如,在HTML中设置`font-size: 20px;`时,则页面中的1rem等同于20px的尺寸。
  • CSS3盒与媒体查询
    优质
    本课程聚焦于使用CSS3的弹性盒模型和媒体查询技术实现网站响应式布局设计,帮助学员掌握现代化网页布局技巧。 1. 介绍怪异盒模型 2. 弹性盒模型及相关概念 3. Flex容器属性(应用于父元素) 4. Flex项目属性(应用于子元素) 5. 媒体查询的概念及其应用 6. 响应式网页设计布局的基本理念 7. CSS3多列布局
  • Vue 中实现 REMVW 技巧
    优质
    本文介绍了在 Vue 项目中采用 REM 和 VW 单位进行自适应布局的方法和技巧,帮助开发者轻松实现响应式设计。 在移动设备开发过程中,适配不同屏幕尺寸是一项关键任务。`rem` 和 `vw` 单位常被用于创建响应式布局,在 Vue.js 这样的流行前端框架中,实现这两种布局策略有多种方法。 ### 一、使用 `rem` 布局 #### 方法一:手动设置 HTML 字体大小 在项目根目录的 JavaScript 文件(如 `main.js`)里添加如下代码: ```javascript const setHtmlFontSize = () => { let deviceWidth = document.documentElement.clientWidth || document.body.clientWidth; if (deviceWidth >= 750) { deviceWidth = 750; // 设定最大宽度,例如设计稿中的1rem为75px } if (deviceWidth <= 320) { deviceWidth = 320; // 设定最小宽度 } document.documentElement.style.fontSize = `${deviceWidth / 7.5}px`; // 设置字体大小,假设1rem=100px } window.onresize = setHtmlFontSize; setHtmlFontSize(); ``` 然后在 CSS 文件中使用 `rem` 单位定义元素尺寸。 #### 方法二:利用 `lib-flexible` 和转换插件 首先安装这两个库: - 安装命令为 `npm install lib-flexible --save` - 或者,对于转换插件如 `px2rem-loader`, 使用命令是 `npm install px2rem-loader --save-dev` 接着,在项目配置文件(例如 `vue.config.js`)中进行如下设置: ```javascript module.exports = { chainWebpack: config => { config.module .rule(css) .test(/\.css$/) .oneOf(vue) .resourceQuery(/\?vue/) .use(px2rem-loader, () => ({ loader: px2rem-loader, options: { remUnit: 75 }, // 设置转换基数 })); }, }; ``` ### 二、使用 `vw` 布局 在 CSS 文件中直接应用 `vw` 单位,例如: ```css width: 10vw; height: calc(100vh - 20px); /* 使用 vw 和 vh 结合 */ ``` 这种方法适用于元素尺寸需要与视口宽度成比例变化的情况。 ### 如何选择:使用 `rem` 还是 `vw` - 如果你需要更精确地控制不同分辨率下的布局,推荐采用 `rem` 单位。 - 对于那些依赖于相对单位的响应式设计和对视觉效果有特殊要求的应用场景,则更适合用到 `vw`。 在实际开发中可以根据具体需求灵活选择或结合使用这两种方法。
  • 如何在移动端中使用vwrem
    优质
    本文介绍在移动端布局中如何运用vw和rem单位进行灵活且响应式的网页设计,帮助开发者轻松实现适配各种屏幕尺寸的需求。 在移动端网页设计中,【vw+rem布局】是一种优化方案,旨在解决不同设备屏幕尺寸下的适配问题。传统的rem布局依赖于JavaScript代码动态调整根元素`html`的`font-size`值,从而实现按比例缩放所有页面元素大小。然而,这种做法存在两个主要缺点:一是与根元素字体大小强耦合的问题,在系统字体放大或缩小的情况下会导致布局混乱;二是需要在HTML头部插入一段压缩过的JavaScript代码来动态设置字体大小。 【vw单位】(Viewport Width)是CSS3引入的一种基于视口宽度的相对长度单位,1vw等于视口宽度的1%。使用这种方法,开发者可以直接根据屏幕尺寸定义元素尺寸,而无需通过JavaScript调整根元素字体大小。例如,在设计稿中一个元素宽为120px,则在移动端可以将其转换成`width: 3.75vw;`(假设设计稿基于iPhone6/7/8的宽度375px)。这种方式简化了代码,并且不受父级元素的影响。 【百分比与vw的区别】:百分比单位是根据其直接父容器来计算大小,而vw始终以整个视口的宽度为基准。当页面出现滚动条时使用100%会导致超出实际可视区宽高(不包括滚动条),从而产生水平或垂直滚动条;相反,使用100vw则会精确匹配屏幕尺寸。 【其他视口单位】除了vw外还有vh (Viewport Height),vmin和vmax。这些单位提供更多的灵活性以适应不同比例的设备屏幕,并允许基于高度或者宽度中较小/较大的值进行布局设计。 【兼容性】尽管vw等视口单位在现代浏览器得到了广泛支持,但在一些老旧或非主流浏览器上可能存在不完全兼容的问题。因此,在开发过程中需要考虑使用媒体查询或其他条件注释来为这些情况提供替代方案。 通过结合标签设置页面的缩放行为和初始尺寸以及合理利用vw+rem布局方法,可以有效解决移动端网页适配问题,并提高代码可读性和维护性。随着现代浏览器日益普及,这种技术已成为移动优先设计中的首选策略之一。
  • CSS3+HTML5网站模板
    优质
    本作品提供一套基于CSS3和HTML5技术的响应式网页设计模板,适用于各种屏幕尺寸,确保在不同设备上拥有良好的用户体验。 CSS3 和 HTML5 响应式布局网站模板绝对会受到欢迎。
  • JavaScript事件监听与触发
    优质
    本篇文章将详细介绍如何使用JavaScript实现事件监听,并探讨其在响应式网页设计中的应用,帮助读者理解动态交互和自适应布局之间的联系。 JS事件监听触发响应式布局。
  • CSS3中justify-content使用详解
    优质
    本文详细解析了在CSS3弹性布局中如何运用justify-content属性来控制项目的排列方式和对齐方法。 内容对齐(justify-content)属性应用于弹性容器上,用于将弹性项沿主轴线进行排列。 该操作在确定了弹性长度及自动边距后执行。它决定了当存在剩余空间时如何分配这些空间,并且在出现溢出内容时会影响项目的对齐方式。 需要注意的是,在弹性布局中主要有两个基本概念:主轴(main axis)和交叉轴(cross axis)。通常情况下,可以将它们分别理解为屏幕上的行向和列向。但是严格来说,这与书写模式及弹性流方向有关联。 因此,main-start 和 main-end 可以被视作弹性容器的左右边界。 justify-content 属性的语法如下: justify-content: flex-start | fl
  • CSS3中justify-content使用详解
    优质
    本文详细介绍了CSS3弹性布局中的justify-content属性,包括其用法、常用值及应用场景,帮助开发者更好地实现页面元素的对齐和分布。 CSS3的弹性布局(Flexbox布局)是一种强大的工具,它允许开发人员更灵活地控制元素在容器内的排列方式。在这个模型里,`justify-content` 属性尤为重要,因为它决定了子元素沿着主轴(main axis)的方向如何对齐。默认情况下,主轴是水平方向,但可以通过设置 `flex-direction` 属性来改变这一特性。 以下是 `justify-content` 的常用值: ```css justify-content: flex-start | flex-end | center | space-between | space-around; ``` 1. **flex-start**(默认):所有子元素向主轴的起点对齐,第一个项目的起始边缘与容器的起始边线对齐。 2. **flex-end**:所有子元素向主轴的终点对齐,最后一个项目的结束边缘与容器的结束边线对齐。 3. **center**:将所有的项目居中于主轴上。如果出现负空间,则项目可能会在两个方向溢出。 4. **space-between**:使每个项目之间均匀分布在整个区域里。第一个元素位于起始位置,最后一个元素位于终点位置,中间的子项保持等距排列。 5. **space-around**:使得每个项目的周围都有相等的空间间隔。如果只有一个单个项目,则效果类似于 `center`。 通过调整这些值,开发人员可以轻易实现诸如左对齐、右对齐和居中等多种布局方式。例如,在网页导航栏需要水平居中的情况下: ```css .nav-container { display: flex; justify-content: center; } ``` 在实际应用中,结合使用弹性布局与 `justify-content` 属性能有效地解决复杂的排版问题,特别是在响应式设计时可以轻松调整元素在不同屏幕尺寸下的排列方式。 总之,掌握和灵活运用这些特性将极大提高前端开发的效率,并且有助于创建更高效的网页布局。