【问题标题】:First selector after a lili 后的第一个选择器
【发布时间】:2012-10-15 17:26:11
【问题描述】:

我有this 场景:

<ul>
    <li>
        <a href="/">Home</a>
    </li>

    <li class="page_item page-item-5 current_page_item">
        <a href="/help">Help</a>
    </li>

    <li class="page_item page-item-7">
        <a href="/follow">Follow</a>
    </li>
</ul>​

li
{
    margin-bottom:10px;
}

a
{
    border:1px solid #000000;
}

ul li + page_item a
{
    border:0;
}

而且,你怎么看,我想只删除第一个链接上的边框,page_itemul li + page_item a,但它似乎不起作用? ​

【问题讨论】:

  • 给你的 ul 一个类或一个 id 然后像 ul#test &gt; li:first-child 那样做

标签: html css css-selectors


【解决方案1】:

您的班级选择器前面缺少.

假设你的第一个 li 永远不会有这个类,而你只想选择它后面的 li.page_item,你可以使用这个选择器:

ul li:first-child + li.page_item a
{
    border:0;
}

但是,如果您希望第一个 li.page_item a 没有边框,无论它在哪里,您都需要处理这个 another way...

ul li.page_item a
{
    border:0;
}

a, ul li.page_item ~ li.page_item a
{
    border:1px solid #000000;
}

【讨论】:

  • 好吧,这就是我问的!谢谢!
【解决方案2】:

您在 css 文件中使用此代码

ul li.page_item a{
  border:0px none;
}

【讨论】:

  • 这是问题的真实答案。 +1
  • @Berker Yüceer:不,不是。
  • 在 none 的末尾使用 !important 例如border:0px none !important;
  • @BoltClock first child 给出第一个 li ,如果您在末尾定义 a 例如 ul &gt; li:first-child + li.page_item &gt; a 它就是解决方案。只需要在那里添加课程哦,现在我明白了..
  • whats > in ul > li:first-child ? > 和第一个孩子之间有什么区别?
【解决方案3】:

您错过了类标识符(dot

更改 CSS 的最后一部分:

ul li.page_item a
{
    border:none;
}

还有一个提示:使用border:none; 而不是border:0

【讨论】:

  • 好的,抱歉。那么为什么不给你的第一个列表项一个 class="noborder" 然后 css: .noborder{border:none;} ?
  • 不!检查 BoltClock♦ 答案;)
  • 很高兴你找到了你想要的答案:)
猜你喜欢
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多