【问题标题】:Equal borders on touching div container "table"触摸 div 容器“表”的边界相等
【发布时间】:2018-03-06 21:40:55
【问题描述】:

我有一个临时表格,其中包含圆形和等边框的项目,方法是从不是第一个或最后一个的每个容器中删除底部边框。

我想要实现的是,当我悬停时,我想让整个“容器”有一个白色边框,但由于边框为零,目前这实际上是不可能的。有没有人有什么建议?我假设我必须使用 javascript 来执行此操作。

Here is what I have so far (jsfiddle)

HTML

<div id="container">
  <div class="item-container">
    1
  </div>
  <div class="item-container">
    2
  </div>
  <div class="item-container">
    3
  </div>
  <div class="item-container">
    4
  </div>
  <div class="item-container">
    5
  </div>
</div>

CSS

body { 
  background-color:#000;
 }

 #container { width:500px;}

.item-container { border:3px solid #7F7F7F;color:#7F7F7F;padding:10px;width:100%;border-bottom:0 }
.item-container:not(:first-child) { border-bottom:0; }

.item-container:hover { border:3px solid #fff;cursor:pointer;color:#fff; }

.item-container:first-child { border-top-right-radius:3px;border-top-left-radius:3px; }
.item-container:last-child { border-bottom:3px solid #7F7F7F;border-bottom-right-radius:3px;border-bottom-left-radius:3px; }

【问题讨论】:

  • 你的意思是所有的边界?包括在里面吗?
  • @TemaniAfif 我不太清楚你的意思
  • 当你悬停时会发生什么? :) 什么边框应该是白色的
  • 前一个子元素的上边框和悬停元素的左、右、下边框。显然这是不可能的,所以不确定最好的做法是@TemaniAfif

标签: javascript html css


【解决方案1】:

您可以创建不同的边框:

body {
  background-color: #000;
}

#container {
  width: 500px;
  color: #7F7F7F;
  border-radius: 3px;
  border-bottom: 3px solid;
}

.item-container {
  border: 3px solid #7F7F7F;
  border-bottom: 0;
  padding: 10px;
  position: relative;
}

.item-container:after {
  content: "";
  position: absolute;
  bottom: -3px;
  right: -3px;
  left: -3px;
  height: 3px;
  background-color: #7F7F7F;
}

#container .item-container:hover {
  border-color: #fff;
  z-index: 2;
  transition: 1s;
}

#container .item-container:hover::after {
  background-color: #fff;
  z-index: 2;
  transition: 1s;
}
<div id="container">
  <div class="item-container">
    1
  </div>
  <div class="item-container">
    2
  </div>
  <div class="item-container">
    3
  </div>
  <div class="item-container">
    4
  </div>
  <div class="item-container">
    5
  </div>
</div>

【讨论】:

  • 您是否打算在悬停时显示每个边框?
  • @TravisJ 因为 OP 说 我想让整个“容器”有一个白色边框 .. 并且我知道他想要什么,所以试一试我们会看到;)
  • 我相信他表示他希望每个item-container 都有一个白色边框。但是,他希望在悬停期间突出显示元素之间的整个边界,而不仅仅是一半。
  • 这太完美了!非常感谢 Temani,这很有意义。
  • 加分项:如果您添加一个过渡属性,底部边框的进入速度会比其他的快。知道为什么会这样吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-10
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多