![](/img/trans.png)
[英]Table row data not extending far enough for on hover change background color
[英]Extending the Background color on Hover
我已经在SO中搜索了许多问题,但是没有一个答案适合我的情况。
我有一个col-md-2
,我有一个导航栏。 我想在悬浮时将背景色填充到“ col-md-2”的边界。 我可以更改颜色,但不能一直扩展到边界。
我创建了一个样本小提琴 。
以防万一提琴不起作用。
<div class="col-md-2">
<ul>
<li><a href="#">dfsdf</a></li>
<li><a href="#">sdgfdgdfgdf</a></li>
<li><a href="#">sdfdsfsd</a></li>
</ul>
</div>
<div class="col-md-10">
cycdc
</div>
的CSS
.col-md-2{
background-color:red;
}
.col-md-2>ul>li>a:hover{
background-color:yellow;
}
更新资料
我了解我必须在a tag
添加display:block
。 但是,当我在我的代码中应用相同的内容时,它实际上就无法工作。 我将发布我所拥有的CSS。
.col-md-2 .navbar-nav{
background-color:ghostwhite;
}
.col-md-2 .navbar-nav >li{
text-align: center;
display:block;
}
.col-md-2 .navbar-nav>ul>li>a{
color:#255C89;
display:block;
}
.col-md-2 .navbar-nav >li>a:hover{
background-color:#255C89;
color:white;
}
HTML
<div class="col-md-2">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("View System Families", "Index", "LsystemFamilies")</li>
<li>@Html.ActionLink("Add New System Family", "Create", "Lsystemfamilies")</li>
<li>@Html.ActionLink("View all Systems", "Index", "Lsystems")</li>
</ul>
</div>
http://jsfiddle.net/frtjwqhp/1/
你只需要添加display: block
到a
标签
更新:
根据您的代码选择器是
.col-md-2 .navbar-nav > li > a
{
display: block
}
upd2:
.col-md-2 .navbar-nav
{
background-color:ghostwhite;
}
.col-md-2 .navbar-nav>li
{
text-align: center;
display:block;
float: none;
}
.col-md-2 .navbar-nav>li>a
{
color:#255C89;
display:block;
float: none;
}
.col-md-2 .navbar-nav>li>a:hover
{
background-color:#255C89;
color:white;
}
这也将工作
.col-md-2{ background-color:red; } .col-md-2>ul>li:hover{ background-color:yellow; }
<div class="col-md-2"> <ul> <li><a href="#">dfsdf</a></li> <li><a href="#">sdgfdgdfgdf</a></li> <li><a href="#">sdfdsfsd</a></li> </ul> </div> <div class="col-md-10"> cycdc </div>
添加display:block;
给a
带来了额外的好处,那就是使整个区域在悬停时都可点击,并且可以实现您的目标:
.col-md-2{
background-color:red;
}
.col-md-2>ul>li>a{
display:block;
}
.col-md-2>ul>li>a:hover{
background-color:yellow;
}
您可以通过以下两种方法执行此操作:
悬停li
,而不是a
.col-md-2{ background-color:red; } .col-md-2>ul>li:hover{ background-color:yellow; }
<div class="col-md-2"> <ul> <li><a href="#">dfsdf</a></li> <li><a href="#">sdgfdgdfgdf</a></li> <li><a href="#">sdfdsfsd</a></li> </ul> </div>
将display:block
设置为a
因为默认情况下设置为default:inline
.col-md-2 { background-color: red; } .col-md-2>ul>li a:hover { background-color: yellow; } a { display: block }
<div class="col-md-2"> <ul> <li><a href="#">dfsdf</a> </li> <li><a href="#">sdgfdgdfgdf</a> </li> <li><a href="#">sdfdsfsd</a> </li> </ul> </div>
根据您的评论,解决方案相同,请检查您的更新代码:
悬停li
,而不是a
.col-md-2 .navbar-nav { background-color: ghostwhite; /*remove margin/padding from ul default if not already */ margin: 0; padding: 0; } .col-md-2 .navbar-nav li { text-align: center; display: block; } .col-md-2 .navbar-nav>ul>li>a { color: #255C89; display: block; } .col-md-2 .navbar-nav>li>:hover { background-color: #255C89; color: white; display: block; }
<div class="col-md-2"> <ul class="navbar-nav"> <li><a href="#">dfsdf</a> </li> <li><a href="#">sdgfdgdfgdf</a> </li> <li><a href="#">sdfdsfsd</a> </li> </ul> </div>
将display:block
设置为a
因为默认情况下设置为default:inline
.col-md-2 .navbar-nav { background-color: ghostwhite; /*remove margin/padding from ul default if not already */ margin: 0; padding: 0; } .col-md-2 .navbar-nav li { text-align: center; display: block; } .col-md-2 .navbar-nav>ul>li>a { color: #255C89; display: block; } .col-md-2 .navbar-nav>li>a:hover { background-color: #255C89; color: white; display: block; }
<div class="col-md-2"> <ul class="navbar-nav"> <li><a href="#">dfsdf</a> </li> <li><a href="#">sdgfdgdfgdf</a> </li> <li><a href="#">sdfdsfsd</a> </li> </ul> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.