我下载了这个模板供Wordpress使用。这正是我想要的(除了颜色),这是Wordpress的基本主题,我可以根据设计师给我的设计进行修改。
我注意到我的样式没有应用于元素。只有一些东西正在被应用。我的头标签——结果页面的,而不是Wordpress中的——看起来是这样的(为了清晰起见,我只包含了基本内容):
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>WP | Just another WordPress site</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="pingback" href="http://siteurl/xmlrpc.php">
<!-- wordpress head functions -->
<link rel="stylesheet" id="bootstrap-css" href="http://siteurl/wp-content/themes/wordpress-bootstrap-master/library/css/bootstrap.css?ver=1.0" type="text/css" media="all">
<link rel="stylesheet" id="wpbs-style-css" href="http://siteurl/wp-content/themes/wordpress-bootstrap-master/css/style.css?ver=1.0" type="text/css" media="all">
<!-- more stuff -->
<!-- end of wordpress head -->
<!-- custom styles -->
<link rel="stylesheet" type="text/css" href="http://siteurl/wp-content/themes/wordpress-bootstrap-master/css/editor-style.css">
<link rel="stylesheet" type="text/css" href="http://siteurl/wp-content/themes/wordpress-bootstrap-master/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="http://siteurl/wp-content/themes/wordpress-bootstrap-master/css/fonts.css">
<!-- end of custom styles -->
<!-- a bunch of IE fallbacks -->
</head>
我一直有这样的印象:a)最后一个样式表优先于之前加载的样式表,b)一个特定的目标样式覆盖了一个组样式。现在,在头中加载的自定义样式表(style.css
)中,我有以下CSS:
a.navbar-brand {
font-family: lao_uiregular;
font-size: 1.7em;
color: #2a73ba;
text-transform: uppercase;
}
但是颜色没有显示出来。我知道我可以用!important
强制它,但想象一下,如果所有东西最后都有!important
,它会看起来多么不整洁。当我在GoogleChrome中检查元素时,它会在我的Styles
-选项卡中显示这一点。
media="all"
@media (min-width: 768px) //bootstrap.css
.navbar > .container .navbar-brand {
margin-left: -15px;
}
localhost/media="all" //bootstrap.css
.navbar-default .navbar-brand {
color: #777777;
}
localhost/media="all" //style.css
.navbar-brand {
font-family: lao_uiregular;
font-size: 1.7em;
color: #2a73ba;
text-transform: uppercase;
}
因此,根据谷歌(以及所有其他浏览器)的说法,我的引导文件比任何其他样式表都要优先。
我该怎么解决这个问题?老实说,我不想把!important
添加到所有内容中,因为它不整洁,感觉像是糟糕的编程实践。如果我需要发布任何其他代码,请发表评论,我会这么做的。我是Wordpress的新手,所以不知道需要什么来解决这个问题。
这是由于的特殊性,引导程序样式比您的样式更具体,这导致它们优先。由于您的自定义样式表包含在引导样式表之后,您可以通过匹配选择器的特定性来覆盖引导样式。因此,将.navbar-brand
更改为.navbar-default .navbar-brand
。
HTML:
<ul class="navbar-default">
<li><a class="navbar-brand" href="#">This will be blue</a></li>
<li><a class="navbar-brand2" href="#">This will be red</a></li>
</ul>
CSS:
.navbar-default .navbar-brand {
color: red;
}
/*This will work*/
.navbar-default .navbar-brand {
color: blue;
}
.navbar-default .navbar-brand2 {
color: red;
}
/*This won't work*/
.navbar-brand2 {
color: blue;
}
JS Fiddle:http://jsfiddle.net/dtz7Ld9n/
有关更多信息,请参阅CSS Specificity:Things You Should Know