我的目标是通过我的div类元素“textwidget”的css控制位置和边距属性,该元素出现在我网站的不同位置。
这是我的结构:
<header class="site-header">
<hgroup class="full-container">
<div id="header-sidebar" >
<aside id="text-2" class="widget widget_text">
<div class="textwidget"> ... </div>
</aside>
</div>
</hgroup>
</header>
<footer class="site-footer">
<div id="footer-widgets" class="full-container">
<aside id="text-5" class="widget widget_text">
<div class="textwidget"> .... </div>
</aside>
</div>
</footer>
这就是我在CSS中尝试过的,但没有解决的问题:
.textwidget{
position: absolute;
right: 0;
margin-top: 30px;
text-align: right;
}
footer > .textwidget{
position: absolute !important;
left: 0 !important;
text-align: left !important;
}
答案 0 :(得分:3)
footer > .textwidget{
仅定位“textwidget”类的元素,它们是页脚的直接后代,即:
<footer class="site-footer">
<div class="textwidget">
This div will be targeted
</div>
</footer>
删除&gt;它将在页脚中定位类'textwidget'的任何元素。
你想要的选择器: footer .textwidget
参考:https://developer.mozilla.org/en-US/docs/Web/CSS/Child_selectors
答案 1 :(得分:2)
.textwidget
是footer
的曾孙,而不是孩子。
使用后代组合子(空格)代替子组合子(大于符号)。
footer .textwidget {
position: absolute;
left: 0;
text-align: left;
}
你也可以摆脱!important
。它们在最好的时候是一个可怕的大锤,在footer .textwidget
比.textwidget
更具体之前不需要它。
答案 2 :(得分:2)
在示例中,您为某个.textwidget
类提供的div不是footer
尝试的直接子项:
footer aside > .textwidget{
position: absolute !important;
left: 0 !important;
text-align: left !important;
}