我是css初学者,我有一点问题。我已经创建了带标题的标题。标题名称由2部分组成。第一部分是文本,第二部分是带背景的文本。我想创建一个可以改变文本颜色和背景的标题:悬停。但是,如果你将鼠标悬停在右侧的标题上,一切都很完美,但是从左边开始。
这是我的代码
#rus {
background: red none repeat scroll 0 0;
border-radius: 8px;
color: white;
padding: 4px 5px;
}
#rus:hover {
background: white;
border-radius: 8px;
color: red;
padding: 4px 5px;
border: 1px solid red;
}
h1 {
border: 0;
font-family: inherit;
font-size: 100%;
font-style: inherit;
font-weight: inherit;
margin: 0;
outline: 0;
padding: 0;
vertical-align: baseline;
clear: both;
}
#site-title {
margin-right: 270px;
padding: 3em 0 0;
font-family: 'Ubuntu', sans-serif;
}
#site-title a {
color: #111;
font-size: 30px;
font-weight: bold;
line-height: 36px;
text-decoration: none;
}
#site-title a:hover,
#site-title a:focus,
#site-title a:active {
color: #1982d1;
}
<hgroup>
<h1 id="site-title">
<a href="#" rel="home">Bundesliga
<span id="rus">RUS</span>
</a>
</h1>
</hgroup>
正如您所见,span标记放置在链接标记中。如果我从右侧悬停它会影响链接标记和跨度,因为无论如何鼠标都在链接标记上。但是从右侧鼠标悬停触摸仅链接标记和跨度不受影响。 我应该更改什么才能使整个标题在鼠标悬停时更改其CSS属性?
答案 0 :(得分:1)
您需要做的就是将:hover
从您的范围移至父a
:
#rus {
background: red;
border-radius: 8px;
color: white;
padding: 4px 5px;
}
a:hover #rus {
background: white;
border-radius: 8px;
color: red;
padding: 4px 5px;
border: 1px solid red;
}
h1 {
border: 0;
font-family: inherit;
font-size: 100%;
font-style: inherit;
font-weight: inherit;
margin: 0;
outline: 0;
padding: 0;
vertical-align: baseline;
clear: both;
}
#site-title {
margin-right: 270px;
padding: 3em 0 0;
font-family: 'Ubuntu', sans-serif;
}
#site-title a {
color: #111;
font-size: 30px;
font-weight: bold;
line-height: 36px;
text-decoration: none;
}
#site-title a:hover,
#site-title a:focus,
#site-title a:active {
color: #1982d1;
}
&#13;
<hgroup>
<h1 id="site-title">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">Bundesliga
<span id="rus">RUS</span>
</a>
</h1>
</hgroup>
&#13;