gpt4 book ai didi

html - 应用全局 CSS 重置后取回默认属性

转载 作者:太空狗 更新时间:2023-10-29 15:47:02 24 4
gpt4 key购买 nike

一些我必须构建的遗留代码,真的让我觉得 the cons of global CSS reset .

我有以

开头的旧 foo.css
* {margin:0; padding:0;}

我过去常常将它复制到另一个文件 bar.css,根据需要调整它(用 CSS 重置),并用它来替换 foo.css 仅在我正在编写的代码中。我这样做是为了不担心与网站旧版 block 的向后兼容性。

现在这很麻烦:对于全局更改,我必须记住修改这两个文件。所以现在我的 bar.css 正在扩展 foo.css,开始于:

@import url("style.css");

问题是现在我也继承了CSS重置。

有什么方法(†)可以将某些元素(标题、列表等)的 marginpadding 属性恢复为默认值——那些在应用重置之前?

(†) 除了按照 CSS 规范手动将每个属性设置回其初始值之外

最佳答案

有建议值 initial用于将属性设置为其初始值,而无需找到显式值。但它仍处于草稿阶段,几乎没有在任何浏览器中实现。

此外,这甚至可能不是您想要实现的。如果我理解正确的话,你会想要设置例如h2 元素的顶部和底部边距为浏览器默认 值。我认为在 CSS 中甚至没有任何建议的方法来做到这一点。规范未定义浏览器默认值。例如,margin 属性的初始值是 0。默认情况下标题具有顶部和底部边距的原因是浏览器至少在概念上应用了浏览器样式表。 CSS 规范建议默认的浏览器样式表,但并不强制要求,浏览器可能(并且实际上)偏离建议。

在实践中,在给定情况下最好的方法是检查 Appendix D CSS 2.1 规范并使用那里给出的值。对于边距之类的东西,这主要会产生使用浏览器默认设置的效果。

关于html - 应用全局 CSS 重置后取回默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8581880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com