CSS:before 不适用于某些元素,:after 工作正常
CSS:before is not working on some elements, :after works just fine
我正在使用 :before 和 :after 来模拟箭头。代码上的 :after 很好,但是添加 :before 没有,它甚至没有出现在 chrome DevTools 的元素部分。
我确保添加了内容。还尝试添加宽度、高度、display:block、z-index 以测试它是否会显示。
网站:https://dev.radiusbridge.com/dis0319/
这些代码是指网站移动版本上的二级菜单项。 (991 像素及以下)
这是运行良好的 :after 代码
ul#menu-main-navigation > li > .sub-menu > li > .sub-menu > li > a.nav-link:after {
display: block;
content: "";
height: 1px;
background: #CDDC3C;
width: 20px;
position: absolute;
right: -20px;
top: 15px;
transition: all 0.2s ease-in-out;
}
这是不起作用的 :before 代码
ul#menu-main-navigation > li > .sub-menu > li > .sub-menu > li > a.nav-link:before {
content: "\f105";
font-weight: 900;
font-family: "Font Awesome 5 Free";
color: #CDDC3C;
font-size: 13px;
position: absolute;
right: -23px;
top: 5.45px;
transition: all 0.2s ease-in-out;
}
我希望 :before 代码像 :after 一样工作。
PS: 之前的元素没有出现在 DevTools 上(Inspect Element)
您的 CSS 包含以下规则:
ul.sub-menu > li > a:before {
display: none!important;
}
选择器匹配元素,!important
表示优先。 DevTools 有一个烦人的行为,就是不显示未显示的伪元素。
调整该规则或将 display: block!important
添加到您的 "arrow" 规则。
我正在使用 :before 和 :after 来模拟箭头。代码上的 :after 很好,但是添加 :before 没有,它甚至没有出现在 chrome DevTools 的元素部分。
我确保添加了内容。还尝试添加宽度、高度、display:block、z-index 以测试它是否会显示。
网站:https://dev.radiusbridge.com/dis0319/ 这些代码是指网站移动版本上的二级菜单项。 (991 像素及以下)
这是运行良好的 :after 代码
ul#menu-main-navigation > li > .sub-menu > li > .sub-menu > li > a.nav-link:after {
display: block;
content: "";
height: 1px;
background: #CDDC3C;
width: 20px;
position: absolute;
right: -20px;
top: 15px;
transition: all 0.2s ease-in-out;
}
这是不起作用的 :before 代码
ul#menu-main-navigation > li > .sub-menu > li > .sub-menu > li > a.nav-link:before {
content: "\f105";
font-weight: 900;
font-family: "Font Awesome 5 Free";
color: #CDDC3C;
font-size: 13px;
position: absolute;
right: -23px;
top: 5.45px;
transition: all 0.2s ease-in-out;
}
我希望 :before 代码像 :after 一样工作。
PS: 之前的元素没有出现在 DevTools 上(Inspect Element)
您的 CSS 包含以下规则:
ul.sub-menu > li > a:before {
display: none!important;
}
选择器匹配元素,!important
表示优先。 DevTools 有一个烦人的行为,就是不显示未显示的伪元素。
调整该规则或将 display: block!important
添加到您的 "arrow" 规则。