在背景上的平行对角线

Web*_*b R 6 html css html5 css3 css-shapes

我想在div的背景上绘制2条平行的对角线.
请参阅我的表在这里:

body {
  background-image: url("http://i.imgur.com/TnPgXl4.jpg");
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 40px;
}
#table {
  width: 800px;
  height: 300px;
  background-color: transparent;
  border: solid 1px white;
}
Run Code Online (Sandbox Code Playgroud)
<div id="table"></div>
Run Code Online (Sandbox Code Playgroud)

我希望实现这样的目标:

在背景上划分2条对角线

web*_*iki 4

您可以使用旋转的伪元素来实现2 条对角线。这两行是绝对定位伪元素的顶部和底部边框:

body {
  background-image: url("http://i.imgur.com/TnPgXl4.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  padding: 40px;
}
#table {
  position: relative;
  width: 800px; height: 300px;
  background-color: transparent;
  border: solid 1px white;
  overflow: hidden;
}
#table:before {
  content: '';
  position: absolute;
  right: 30%; bottom: 100%;
  height: 20px; width: 100%;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform-origin: 100% 100%;
  transform: rotate(-70deg);
}
Run Code Online (Sandbox Code Playgroud)
<div id="table"></div>
Run Code Online (Sandbox Code Playgroud)

这是它的工作原理:

  • 两条线之间的宽度由伪元素的高度控制
  • 线条的粗细由边框宽度控制
  • 线条的倾斜度由旋转角度控制
  • 线条的溢出部分被overflow:hidden;div 上的属性隐藏

请注意,您需要将供应商前缀添加到转换转换源属性以获得浏览器支持,并且您可能不需要background-size属性上的供应商前缀: