css精粹

xiaoxiao2025-09-04  222

基础汇总

(1)例:

a:link:hover {background-color:red} // 未访问链接鼠标悬停背景色为red a:visited:hover {background-color:blue} // 访问链接后鼠标悬停背景色为blue

(2) 设置的继承样式在子元素上不生效:

原因:浏览器为该元素设置了默认的样式,导致继承的样式无效。继承的样式没有特殊性。

继承样式的缺点:很难确定样式的来源。

(3) 元素框的尺寸:

即为调试时选中元素时显示的宽高:由 (border + padding + 内容) 构成。

(4) 外边距叠加:

普通文档流的块框的垂直外边距才会发生外边距叠加,行内框、浮动框、绝对定位框之间的外边距不会叠加。

外边距叠加的应用:使得段落文本之间的间距一致。

(5) css中三种基本定位机制:

普通流、浮动和绝对定位。

(6) 行内框:

①修改行框尺寸的方法:修改行高、水平边框、内边距和外边距。

②行内框竖直方向上的内边距无效吗?

在给行内框添加背景色后,设置竖直方向上的内边距时发现确实生效了,但事实上设置的内边距并不占据实际的空间,即不影响其他的元素布局。因此可以认为给行内框设置竖直方向上的内边距无效。

(7) 匿名块框和匿名行框:

<div> some text <!--此处默认产生一个匿名块框--> <p>text</p> </div> <div> some text <!--此处默认产生一个匿名行框--> <em>text</em> </div>

平滑滚动

(1)设置属性:scroll-behavior: smooth;

以前使用锚点跳转时总是快速的定位到指定位置,而使用平滑滚动后,页面会有一个滚动的过程,效果更好。

设置时只需要给滚动的盒子设置scroll-behavior: smooth属性即可,也可以在 css reset 时给 body, html 设置。

(2)除此之外,也可以使用JS提供的scrollIntoView(),传入参数behavior: ‘smooth’ 。

target.scrollIntoView({ behavior: 'smooth' })

如果在css中设置了scroll-behavior: smooth 直接调用 target.scrollIntoView即可,不需要再传入参数。

// 判断是否支持scroll-behavior属性 if (typeof window.getComputedStyle(document.body).scrollBehavior == 'undefined') { ... }
转载请注明原文地址: https://www.6miu.com/read-5035709.html

最新回复(0)