首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CSS基础-属性值单位:px, em, rem, %

CSS中,尺寸单位是决定元素大小关键。正确选择和应用单位不仅关乎布局美观,还直接影响到网站响应式设计和访问性。...如果当前元素没有设置字体大小,则继承自父元素字体大小。em单位使得样式能够根据上下文动态调整,非常适合创建流体布局和响应式设计。...相对单位rem 概述 rem(root em)是相对于根元素(通常是html元素)字体大小单位。与em相比,rem避免了因嵌套而导致复杂计算问题,成为响应式设计和访问性改进优选。...常见问题与避免 问题:忽略设置根元素字体大小,导致rem单位失去意义。 避免:始终在CSS初始化中明确设置html字体大小,以便于控制整个页面的缩放比例。.../* 示例:设置html字体大小为16px,段落字体大小为1rem */ html { font-size: 16px; } p { font-size: 1rem; /* 相当于16px

9710
您找到你想要的搜索结果了吗?
是的
没有找到

CSS通用类和“结构与样式分离”

这并不是思考HTMLCSS关系正确方式。 相反, 要从依赖角度来思考 有两种编写HTMLCSS方式: "结构与样式分离" CSS依赖HTML。...HTML不是独立。它需要使用由CSS提供类, 它需要知道有哪些类是定义好,并且将这些类结合起来,来完成跟设计稿一样样式。 在这个模型中,你CSS复用,但你HTML不能随意编写。...对于你正在编写项目, 什么会更有价值: 可以随意编写HTML,还是复用CSS?...有没有一个方法,可以使我们在没有创建.actions-list__item组件情况下,解决我们最初问题? 如果你回想一下,我们创建这个组件原因,只是为了在两个按钮之间增加一些间距。...但肯定也会有这种情况,就是我们需要在两个元素之间设置相同间距,但这个元素并不属于.actions组件,对不?

3.2K21

面试题整理|45个CSS面试题

Layui:是一款采用自身模块规范编写前端 UI 框架,遵循原生 HTML/CSS/JS 书写与组织形式,门槛极低,拿来即用。其外在极简,体积轻盈,组件丰盈,非常适合界面的快速开发。...一般浏览器字体大小默认为16px,则2em == 32px; rem 是根 em(root em)缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小...vmax vw和vh中较大那个。 % 相对父元素 *提示: rem与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对只是HTML根元素。...将该元素视为相对位置,直到它超过指定阈值为止,此时将其视为固定位置。 Q41、什么是供应商前缀?...它结合了文档内容和样式。 浏览器显示DOM内容。 Q45、推荐一种优化打印页面的方法? 创建打印页面的秘诀是能够识别和控制您网站“内容区域”。

4.1K30

请避免犯这9个常见 CSS “坏习惯”

CSS有两类长度单位:绝对单位和相对单位。许多CSS属性,如“宽度”、“高度”、“字体大小”等,都使用单位来表示其值。...因此,它是相对于父元素。例如,如果你将一个元素宽度设置为80%,它将是父元素宽度80%。请注意,在以下属性值中使用百分比:宽度、高度、边距和内边距。 em - 这与父元素字体大小相关。...例如,如果您将元素字体大小设置为4em,则它将是父元素字体大小四倍。在处理排版(文本)时使用 em - 这使文本按比例缩放。 rem - 这是相对于根元素字体大小。...忽略浏览器兼容性可能会导致用户在不同浏览器上体验不一致。这是因为不同浏览器有其自己CSS样式渲染方式。但是,你可以通过考虑浏览器兼容性并确保你样式与不同浏览器兼容来实现样式一致性。...实现浏览器兼容性代码一种方法是实施以下操作: 使用供应商前缀:某些CSS属性需要您使用前缀来渲染,无论使用哪种浏览器。

20910

【Vue3+TypeScript】CRM系统项目搭建之 — 关于如何设计出优质 Vue 业务组件

前言 前面知道了 Element Plus 关于组件设计时使用 CSS 变量来进行重构,接着这里就在正式进入业务开发之前,来学习如何在封装组件时在其拓展性与贴合业务去寻找一个平衡点。...组件设计基本原则 组件是要去复用到很多地方,所以设计组件最核心就是在其拓展和贴合业务之间找一个平衡点,使得业务组件更加偏向业务,而基础组件更加偏向于拓展。...按额外内容区有几条决定标题几行,等于四条就一行,小于等于三条显示两行,预留props可以强制指定几行 字体大小,样式固定,交由css处理 内容默认按组件传入所有商品信息提取标题,支持强制指定 具体代码设计...方案一: 整个额外信息区都由插槽插入 分析: 拓展性最高,但是使用者需要自己编写整个信息区htmlcss 方案二: 额外信息区分为四个插槽,要插入哪个位置传哪个 分析: 相对来说扩展性不错,使用者至少不用布局了...行为角度 行为点1: 右下角按钮区 该行为点已经完全交给插槽了。 行为点2: 点击商品区,不同商品区域会有不同需求,比如第一个商品点击无反应,第二个跳商家主页,最后一个跳商品详情。

11810

如何在CSS中使用变量

举个例子,你可以将品牌颜色设置为一个CSS属性(--primarycolor: #7232FA),并在任何使用品牌颜色组件或样式中使用这个值(background: var(--primarycolor...然而,如果浏览器供应商实施了CSS扩展[3]规范,这种情况就会改变。该规范定义了用自定义选择器组合、函数和at-rules来扩展CSS方法。...HSL参数单位 当你在hsl()和hsla()函数第一个参数中使用无单位值时,浏览器会假定它是一个以度为单位角度。然而,你可以使用任何受支持CSS角度单位[4]。...在组件中使用自定义属性 像React、Angular和Vue这样JavaScript框架让开发者使用JavaScript来创建重用、共享HTML块,通常会在组件层面上定义CSS。...使用自定义属性,我们可以: 创建重用、主题化组件 轻松调整内边距、外边距以及排版,以适应各种视口尺寸和媒体 改进CSS颜色值一致性 变量有一系列应用,在基于组件设计系统中特别有用。

2.8K60

如何在CSS中使用变量

举个例子,你可以将品牌颜色设置为一个CSS属性(--primarycolor: #7232FA),并在任何使用品牌颜色组件或样式中使用这个值(background: var(--primarycolor...然而,如果浏览器供应商实施了CSS扩展[3]规范,这种情况就会改变。该规范定义了用自定义选择器组合、函数和at-rules来扩展CSS方法。...HSL参数单位 当你在hsl()和hsla()函数第一个参数中使用无单位值时,浏览器会假定它是一个以度为单位角度。然而,你可以使用任何受支持CSS角度单位[4]。...在组件中使用自定义属性 像React、Angular和Vue这样JavaScript框架让开发者使用JavaScript来创建重用、共享HTML块,通常会在组件层面上定义CSS。...使用自定义属性,我们可以: 创建重用、主题化组件 轻松调整内边距、外边距以及排版,以适应各种视口尺寸和媒体 改进CSS颜色值一致性 变量有一系列应用,在基于组件设计系统中特别有用。

2.5K20

一文读懂 CSS 单位

根据CSS规定,1em 等于元素font-size属性值。 em 是相对于父元素字体大小进行计算。如果当前对行内文本字体尺寸未进行显示设置,则相对于浏览器默认字体尺寸。...> 这里给父元素设置字体大小为20px,然后给子元素border宽度设置为1em,这时,子元素border值为20px,确实是相对于父元素字体大小设置: image.png 那如果我们给子元素字体设置为...所以,可以得出结论:如果自身元素是没有设置字体大小,那么就会根据其父元素字体大小作为参照去计算,如果元素本身已经设置了字体,那么就会基于自身字体大小进行计算。...设置缩放时,应该使用 rem; 使用 em 应该根据组件font-size来定,而不是根元素font-size来定; rem 可以从浏览器字体设置中继承 font-size 值, em 可能受任何继承过来父元素...角度单位 CSS角度单位有四个:deg、grad、rad、turn。这些角度单位都是CSS3中新增单位。

65410

rem与em详解

rem与em详解 em 和 rem都是灵活、 扩展单位,由浏览器转换为像素值,具体取决于您设计中字体大小设置。...没有设置 HTML 字体大小时,浏览器设置起作用 除非重写,否则它将继承浏览器默认设置字体大小。 例如,让我们把网站html元素没有设置font-size值。...根据我们上面的例子,设计组件比如按钮,菜单和标题可能会有自己明确字体大小。...我建议,当您使用 em 单位,他们使用元素字体大小设置对rem单位,以保留扩展性,但避免继承混淆。...使用 em 单位应根据组件字体大小而不是根元素字体大小。 在不需要使用em单位,并且需要根据浏览器字体大小设置缩放情况下使用rem。

4.3K30

编写模块化CSS:命名空间

-2/ 本篇翻译原文地址: https://www.w3cplus.com/css/css-architecture-2.html ?...对象物们都有着以下属性: 对象使用.o-前缀 它们里面不能包含其他对象或组件 它们之于上下文是独立 某些对象可以在有意义情况下忽略.o-前缀。 对象不能包含其他对象或组件 对象可大可小。...对象物们都有着以下属性: 对象使用.o-前缀 它们里面不能包含其他对象或组件 它们之于上下文是独立 某些对象可以在有意义情况下忽略.o-前缀。...此更改表单HTML可能是: ? 并且各自(S)CSS更改是: ? 还有一件事。 注意到了我混合了一个对象和组件类在.c-form__button里么?...这样一个惯例好处就是能够一目了然地告诉元素大小。 在下面的例子中,我确定这个链接尺寸小于我基本字体大小。 ? 现在,如果您无法控制HTML,但想要控制排版类大小呢?

2.6K70

CSS中可使用font-size长度单位

下面是CSS给不同元素设置字体大小。...如果你希望在一个自适应性网站中根据不同断点设置放大或者缩小不同元素字体大小,你可以给 html和 body在不同断点下设置不同 font-size。这样其中元素就都能够缩放了。...下面的CSS是把容器 div font-size设置为 rem单位值。其他部分元素依然是使用 em作为 font-size单位。...这一来,就能让模块内所有元素基于他们父元素设置 font-size,也可以让整个模块独立出来。 百分比 使用百分比和em计算行为相似。...---- 往期精选文章 使用虚拟dom和JavaScript构建完全响应式UI框架 扩展 Vue 组件 使用Three.js制作酷炫无比无穷隧道特效 一个治愈JavaScript疲劳学习计划 全栈工程师技能大全

2.3K20

提升网站访问性CSS实践方法

以下是一些CSS实践方法: 1、使用高对比度颜色来支持低视力用户,同样也可以提高其他用户阅读性。...以下是一些CSS实践方法: 1、使用相对单位 rem 或 em 来指定字体大小,这些单位可以根据父元素或根元素字体大小进行缩放。...DOCTYPE html>  ...  五、避免使用纯图片文本内容 使用纯图片文本内容可以导致无法进行文本搜索和屏幕阅读器无法读取文本内容,这会影响网站访问性。...六、使用适当语义化HTML标记 适当地使用 HTML 标记可以让网站更具有语义性和访问性,并且能够帮助搜索引擎更好地索引网站内容。...aria-hidden:用于指定元素是否应该被屏幕阅读器忽略。 以上是一些使用 CSS 来提高网站访问性实践方法。通过合理地运用这些方法,可以让网站更加易于阅读和访问,从而提高用户体验和网站质量。

19330

【前端词典】提高幸福感 9 个 CSS 技巧

相对单位 rem rem 是 CSS3 新增一个相对单位(root em),即相对 HTML 根元素字体大小值。 rem 应该是自适应使用最广泛单位了。...因为在需要调整字体大小时候,只需修改 font-size 值,而 line-height 已经设置成了相对行高了。 首行缩进两个字符 在存在首行缩进需求,我也会使用这个单位。...从 html 元素继承 box-sizing 在大多数情况下我们在设置元素 border 和 padding 并不希望改变元素 width,height 值,这个时候我们就可以为该元素设置 box-sizing...: inherit;} 这样好处在于他不会覆盖其他组件 box-sizing 值,又无需为每一个元素重复设置 box-sizing:border-box;。...我们知道内联 CSS 能够使浏览器开始页面渲染时间提前,即在 HTML 下载完成之后就能渲染了。 既然是内联关键 CSS,也就说明我们只会将少部分 CSS 代码直接写入 HTML 中。

69230

23个高手都在用Figma小技巧!(2022新专辑)-Part 02

静电说:不知道上周发第一期2022全新figma小技巧大家看怎么样,有没有实践? 今天我们为大家推出本系列第二辑,看看还有哪些更新小技巧吧!...可能对设计稿整洁和最终 UI 设计没有任何帮助,但对于快速测试或在调试时突出显示内容很方便。支持所有W3 CSS 颜色模块名称。...按空格键忽略自动布局 005.快速设置文本为自动宽度 想要将文本设置为自动宽度?简单!只需双击文本框。完毕。...双击文本框快速将其更改为自动宽度 006.快速切换设计和原型 使用shift+E您可以在原型和设计模式之间切换……这样可以节省不少时间。...我喜欢在 CSS 中使用通用,比如:line-height=1.5。不幸是,您不能以 CSS 单位设置它,但您可以使用 %。这也允许更改字体大小并保持统一行高。

2K40

5个需要避免CSS错误

我们将采取什么方式来设计组件?我们想以原子方式建立我们组件吗?我们是否愿意创建一个可组合实用系统?我们想要一个已经内置UI库吗?我们希望我们CSS是全局作用域还是按组件作用域?.../* ❌ 由于我们只是在设置一个属性,所以不需要使用简写。...[block]__[element]--[modifier] /* Example */ .menu__link--blue { ... } 其目的是通过让开发者了解HTMLCSS之间关系来创建独特名称...通过使用 rem,我们将能够根据用户偏好字体大小来表达布局。 在上面的截图中,我们可以看到基于 rem 单元布局如何能够扩展并适应不同默认字体大小。 5....总结 我们已经看到了如何改进我们CSS代码。遵循一些简单指导原则,我们可以实现一个声明式、重用和可读代码库。我们应该在CSS中投入和在Javascript中一样多精力。

41410

CSS 基础 之 基础选择器+字体文本相关样式

5.3 文本修饰 ---- 1、认识 CSS 1.1 CSS介绍 CSS:层叠样式表(Cascading style sheets) ; 作用:给页面中HTML标签设置样式 1.2 CSS...1.3 CSS 初体验 我们先来认识一下CSS 常见属性: CSS 常见属性 作用 color 文字颜色 font-size 字体大小 background-color 背景颜色 width 宽度 height... 效果: 注: CSS 标点符号都是英文状态下 。 每一个样式键值对写完之后,最后需要写分号。...4.1 字体大小 属性名 font-size 取值 数字 + px 注意点 谷歌浏览器默认文字大小是16px ;单位需要设置,否则无效 谷歌浏览器默认文字大小是16px ; 单位需要设置,否则无效...text-align : center 能让哪些元素水平居中? 1.

2.1K10

前端开发小技巧(持续收集中)

,有两个大小不同轮播图使其它们大小不一样,并设置颜色和背景 如下图,我把swiper轮播图做成组件后,应用两个不同大小轮播图,但是有一个轮播图太小了,所以为了好看点,需要改变它大小,但是应用于一个组件...,我们需要两个轮播图箭头大小不一样,并设置上颜色和背景,只在组件里面操作css颜色就行 home组件html结构 都是一个外层包着内层轮播图,外层设置轮播图大小 home组件css...结构 关键点:我是设置了两个不同字体大小(font-size),因为swiper轮播图左右箭头,实际上就是字体图标,使其大小不一样,实际上大小需要你自己设置,因为我们轮播图大小不一样,当然如果你轮播图里面还有字...,建议那个字单独设置一个新标签包着(子盒子),再设置这个新标签字体大小,使其覆盖父盒子字体大小。  ...Carousel组件css部分 下面 font-size 百分比也可以自己设置,主要是父组件那边字体大小设置关键 .swiper-slide img { /* 继承父组件大小宽度,这样轮播图大小就不同了

6710

57道CSS常问面试题及答案汇总

transform-origin定义是旋转基点,其中angle是指旋转角度,如果设置值为正数表示顺时针旋转,如果设置值为负数,则表示逆时针旋转。...skew是用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。 其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg。...一般浏览器字体大小默认为16px,则2em == 32px; rem 是根 em(root em)缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小...vmax vw和vh中较大那个。 % 相对父元素 提示: rem与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对只是HTML根元素。...link属于HTML标签,而@import是CSS提供,页面被加载时,link会同时被加载,而@import引用CSS会等到页面被加载完再加载 import只在IE5以上才能识别,而link是HTML

2K10

57道常被问CSS面试题及答案汇总,帮你查漏补缺

transform-origin定义是旋转基点,其中angle是指旋转角度,如果设置值为正数表示顺时针旋转,如果设置值为负数,则表示逆时针旋转。...skew是用来对元素进行扭曲变行,第一个参数是水平方向扭曲角度,第二个参数是垂直方向扭曲角度。 其中第二个参数是可选参数,如果没有设置第二个参数,那么Y轴为0deg。...一般浏览器字体大小默认为16px,则2em == 32px; rem 是根 em(root em)缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小...vmax vw和vh中较大那个。 % 相对父元素 提示: rem与em有什么区别呢?区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对只是HTML根元素。...link属于HTML标签,而@import是CSS提供,页面被加载时,link会同时被加载,而@import引用CSS会等到页面被加载完再加载 import只在IE5以上才能识别,而link是HTML

2.4K31
领券