css 覆盖用户代理样式表- Chrome

2ledvvac  于 2023-05-19  发布在  其他
关注(0)|答案(2)|浏览(270)

我有一个列表项目,正在使用悬停效果显示在网页上。我在这里面临的挑战是,当我对列表项应用一些边框或背景时,由于自动生成的填充,它看起来很可怕。
请看这张图片。
谁来帮我盖过它。
我已经搜索了论坛,但我只得到了如何把它从控制台off不超过骑它。

wixjitnu

wixjitnu1#

您在这里看到的是一个“用户代理样式”(它显示 “用户代理样式表” 作为源代码)。
UA样式是浏览器引入的样板规则,用于在网页之间保持一定的一致性。您可以简单地覆盖它。
样式声明可以来自多个地方,并且根据来源的不同具有不同的优先级(从最低到最高)*:

Name       │  Source
───────────┼────────────────────
user agent │ Browser  
author     │ You (the content creator)  
User       │ end user (the person using your website)
Precedence │ Source                    
───────────┼────────────────────────────────────────────────────────────────────
Lowest   0 │ user agent styles => these are the styles you see in the screenshot
         1 │ User styles
         2 │ author CSS styles => beware CSS precedence rules (link below)!
         3 │ author inline styles
         4 │ author CSS styles with `!important`
         5 │ author inline styles with `!important`
Highest  6 │ User styles with `!important`

由于你的截图中的样式是UA样式(优先级最低),你只需要在你的css中声明一个样式规则来覆盖它们:

ul { padding:0 }

旁注:如您所见,用户样式具有最高优先级。因此,如果用户使用!important声明自己的样式,作为作者,您对此无能为力,您无法否决这些样式。(这是有道理的,因为作为最终用户,我想知道我对浏览器中的内容有最终决定权)。

  • 在真实的生活中,级联特性比下面的列表显示的要复杂得多,但为了简单起见,我没有介绍它。如果您感兴趣,请查看CSS precendence.
z18hc3ub

z18hc3ub2#

只需添加以下样式:

ul { padding:0 }

它将重写默认样式。

相关问题