作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了一个充当过滤器的导航,并根据点击导航中的过滤器/项目从 Firebase 获取内容。
过滤器工作得很好,但是我试图让它在用户单击过滤器时显示事件类。我的 setActive() 函数可以分别将事件类添加到项目中,但是由于特殊性,事件类不起作用。
我也在使用 LESS,并且想了解添加 &:active 的更好方法,而不仅仅是添加独立的事件类。
JS
//Sets the Active Class once a filter has been selected
function setActive() {
$('#filters').on('click','li',function(){
$('#filters li.active').removeClass('active');
$(this).addClass('active');
});
}
setActive();
// A click functions for each filter, that sets filterToSelect for Firebase respectively
$('body').on('click', '#filter-storage', function(e) {
e.preventDefault();
filterToSelect = "storage";
setFilter(filterToSelect);
});
HTML
<div id="filters" class="filters">
<ul>
<li id="filter-all">All Categories</li>
<li id="filter-browser">Browser</li>
<li id="filter-chat">Chat</li>
<li id="filter-email">Email</li>
<li id="filter-encryption">Encryption</li>
<li id="filter-os">os</li>
<li id="filter-storage">Storage</li>
</ul>
</div>
更少
.filters {
cursor: pointer;
padding-bottom: 30px;
ul {
list-style-type: none;
margin: 0;
padding: 0;
li {
display: inline-block;
padding-right: 15px;
color: #717171;
font-size: 13px;
font-weight: 600;
letter-spacing: 1px;
text-transform: uppercase;
&:last-child { padding-right: 0; }
&:hover {
color: #424141;
}
&:active {
color: #424141;
}
}
}
}
编辑
github 页面上的工作站点 - https://onehunnid.github.io/psb/
最佳答案
问题不在于特异性。你的 LESS 写错了。而不是
&:active {
color: #424141;
}
你可能想要
&.active {
color: #424141;
}
那是因为您正在添加一个类,而不是依赖于链接 :active
状态(无论如何,仅对 <a>
标签有效)
关于javascript - 由于特殊性,使用 jQuery 添加 'active' 类不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34364113/
我想了解 CSS 选择器如何处理属性冲突。如何选择一种属性而不是另一种属性? div { background-color: red; } div.my_class { background-
我想了解 CSS 选择器如何处理属性冲突。如何选择一种属性而不是另一种属性? div { background-color: red; } div.my_class { background-
我是一名优秀的程序员,十分优秀!