覆盖为HTML标记设置的CSS样式

时间:2012-10-10 00:19:18

标签: html css

我的页面引用了CSS样式表,其定义为:

html {background-color:#FFFFFF;background-image:url('../images/Background.png');background-repeat:repeat-x; } 

如何在页面级别覆盖background-image元素?我需要在我的应用程序中覆盖一页的设置。

5 个答案:

答案 0 :(得分:5)

向html元素添加一个类,然后使用一些内联样式来覆盖外部样式表的样式。您还可以将内联样式放在外部样式表中,这是最佳实践。

<html class="myHtmlTag">
   <head>
     <link href="externalStyle.css" rel="stylesheet"/>
    <style>
     html.myHtmlTag{
       background: none !important;
       background-image:none !important;
     }
    </style>
   </head>
   <body></body>
</html>

答案 1 :(得分:1)

如果您只定位html标签而没有任何其他选择器,那么您只需在主css之后添加另一个html样式。根据CSS特异性 - 它们每个只有1个标签的值(没有id,没有类) - 所以后者将为元素设置样式。

<html>
<head>

<link rel="stylesheet" href="main.css" /> 

<!-- anywhere from here down you can include a style to over ride html -->

这是一个快速演示:

html {background-color:#000;background-image:url('http://lxmpro.com/cms/wp-content/uploads/2012/01/site-background-pattern-07.jpeg');background-repeat:repeat-x; }


/*  second reference to html tag overrides the first */
html {background-image:url('http://www.noupe.com/wp-content/uploads/2009/10/wallpaper-pattern.jpg');}

工作演示 - http://jsfiddle.net/K68D3/

答案 2 :(得分:0)

使用!important background样式的background-image属性,如下所示:

html{background-color:#000000 !important;background-image:url('your/image/path') !important;...}

答案 3 :(得分:0)

你可以将一个类应用于body标签吗? IE:

<body class="home"> 
<body class="articlepage">

否则,你在技术上可以使用jQuery,假设你有权访问页面上的代码以执行该功能但是被锁定

<script>$("body").addClass("home");</script>

----或------

<script>$("body").addClass("articlepage");</script>

这些允许你上课:

body.home {background-image:url(homebg.jpg);}
body.articlepage {background-image:url(articlebg.jpg);}

答案 4 :(得分:0)

类背景颜色的基本内联样式覆盖:

<!DOCTYPE html>
<html>
<head>
<style>
.city {
    background-color: orange;
    color: white;
    padding: 10px;
}
</style>
</head>

<body>

<h2 class="city" style="background-color: tomato;">London</h2>
<p>London is the capital of England.</p>

</body>
</html>