HTML 通过 link 加载 CSS, 当 link 标签的 rel 属性为 alternative,且 title 属性存在时,该样式会加载但不渲染。当我们控制 js 将该标签的 disabled 设为 false 时,该 link 标签引用的 CSS 就会进行渲染,可以通过这个特性实现换肤效果。
优点:
CSS 设置宽高比的三种方式:
aspect-ratio: 16 / 9;
将 height 设为 0,然后将 padding-top 设为纵横比即可
padding-top: calc(768 / 1024 * 100%);
height: 0;
原理很简单,padding-top 的 100%百分比是根据宽度来的,这里乘以纵横比,就得到了高度。
存在的问题: 由于 height 为 0, 内容最好还是嵌套一层比较好
--width: 100px;
width: var(--width);
height: calc(var(--width) * 1.25);
总结: 第一种方法是新的标准,第二,三种兼容性好
通配符,关系选择符号(+,>, ~ , , )和 :not 不会影响优先级
除了上述的规则外,如果两个样式的优先级一样,则根据在源码的位置来确定,后面的优先级高
overflow 是编码 CSS 时比较常用的属性。我们经常用来处理内容和容器之间的关系
内容超出容器后会进行截取,用户无法看到超出容器的内容,但是通过设置 scrollTop 可以看到内容
内容超出容器后可以被看到
内容未超出容器时,表现为 visible。超出后表现为 scroll
内容超出容器后,表现为滚动查看
和 hidden 类型,但是对内容是直接截取,无法通过 JS 调整 scrollTop 查看内容
BFC(块级格式化上下文)是 CSS 中的一种布局模式,用于控制块级元素的布局和相互之间的影响。具有 BFC 属性的元素会在垂直方向上形成一个独立的渲染区域,不受外部元素的影响
可以通过以下方式创建 BFC:
将元素设置为浮动(float)
将元素设置为绝对定位(position: absolute/fixed)
将元素的 display 属性设置为 inline-block、table-cell 等
在元素上应用 overflow:hidden、scroll、auto 等属性
常见应用场景:
清除浮动:父元素使用 overflow:hidden 使其成为 BFC,从而清除子元素浮动带来的影响;
避免 margin 折叠:位于同一 BFC 中的两个元素的 margin 会产生折叠,因此可以使用 BFC 分隔它们,避免这种情况;
自适应两列布局:将左侧列设置为一个 BFC,右侧列在流动时就会自然地占据剩余的空间。
-webkit-tap-highlight-color: transparent;
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Microsoft YaHei', 'Arial', '黑体', '宋体', sans-serif;
