【问题标题】:CSS avoid border duplication whilst maintaining border visibilityCSS 避免边框重复,同时保持边框可见性
【发布时间】:2012-01-11 18:19:51
【问题描述】:

看看this fiddle - 我有三个div,它们的border-width 均为2px。最初的问题是因为每个 div 的边框宽度为 2px,边框在每个 div 之间重复,总边框宽度为 4px。我通过在每个 div 上添加 -2px 的 margin-top 来解决此问题。这会导致 div 覆盖上一个的边框,从而实现看起来均匀的边框。

我想为我的 div 添加悬停效果,所以我添加了以下 CSS:

#main div:hover {
    border-color:#09C;
}

问题是,因为顶部两个的边框被下面的 div 覆盖,悬停效果看起来不正确(每个 div 的底部边框似乎没有突出显示)。

我希望能够在每个 div 之间仅具有 2px 边框,同时对该 div 的整个边框具有悬停效果...我该怎么做?

【问题讨论】:

    标签: html css border


    【解决方案1】:

    您可以添加另一个选择器,在 div 悬停时为下一个 div 的上边框着色:

    #main div:hover + div {
        border-top-color:#09C; 
    }
    

    【讨论】:

    • 很好的答案 - 我什至不知道 + 存在于 CSS 中!
    • 没问题。所谓的相邻兄弟组合子自 CSS2 以来就一直存在。一些新的 CSS3 正在添加,另请参阅这个 W3C 推荐,很多浏览器已经实现了其中的一些:w3.org/TR/selectors/#selectors
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2017-06-03
    • 2014-08-29
    • 2012-10-14
    • 2022-01-11
    • 2019-04-03
    • 1970-01-01
    相关资源
    最近更新 更多