Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS:具有双边框的自定义形状div_Css - Fatal编程技术网

CSS:具有双边框的自定义形状div

CSS:具有双边框的自定义形状div,css,Css,我有一个挑战给你们大家。我试图在不使用任何工具的情况下制作以下形状 不可能有什么困难?对我来说是双重边界。当然,我可以在剪纸上画一些其他的形状,但是边界线会被破坏。有人有什么想法吗?我相信SVG是你应该走的路。然而,为了看看这是否可行,我决定使用纯HTML和CSS制作这个形状 这是我的建议 HTML 您要查找的CSS属性是border style:double;。每个div都绝对位于包装器内,菱形div旋转以形成所需的三角形切割 结论 使用SVG将更容易做到这一点,同时也更灵活。不同形状之间的边

我有一个挑战给你们大家。我试图在不使用任何工具的情况下制作以下形状


不可能有什么困难?对我来说是双重边界。当然,我可以在剪纸上画一些其他的形状,但是边界线会被破坏。有人有什么想法吗?

我相信SVG是你应该走的路。然而,为了看看这是否可行,我决定使用纯HTML和CSS制作这个形状

这是我的建议

HTML 您要查找的CSS属性是border style:double;。每个div都绝对位于包装器内,菱形div旋转以形成所需的三角形切割

结论 使用SVG将更容易做到这一点,同时也更灵活。不同形状之间的边界也没有很好地对齐。不要用CSS做这件事,但要知道你可以


据我所知,你无法摆脱那些边界重叠。

几天前,我回答了一些类似的问题,使用框阴影绘制边界并切断背景。 这里,我带了一些和你画的很接近的东西


你不能用纯css来定制形状。像三角形这样的形状基本上都是黑客攻击的,所以为了制作一个类似于该图像中的形状的复杂形状,您可能最好看看SVG或使用Images之类的替代方案,比如go SVG。你将无法获得像伪元素那样的双边框。@Jeff_Powers,是的,它可以:@GCyrillus凭一切神圣的力量,使用方块阴影真是太棒了,+1@杰夫·鲍尔:谢谢,我印象深刻。谢谢
<div id="wrap">
    <div id="mainshape"></div>
    <div id="upperleftcut"></div>
    <div id="diamondcut"></div>
</div>
#wrap {
    width: 206px;
    height: 150px;
    position: relative;
    overflow: hidden;
}

#upperleftcut, #mainshape, #diamondcut {
    position: absolute;
    background-color: white;
    border-style: double;
}

#upperleftcut {
    border-style: none double double none;
    width: 100px;
    height: 20px;
}

#diamondcut {
    -moz-transform:rotate(45deg);
    -webkit-transform:rotate(45deg);
    -o-transform:rotate(45deg);
    -ms-transform:rotate(45deg);
    width: 30px;
    height: 30px;
    left: 197px;
    top: 50px;
    border-style: double;
}

#mainshape {
    border-style: double;
    background-color: white;
    width: 200px;
    height: 144px;
}
div {
  margin:3em;
  border:1px solid;
  box-shadow:inset 0 0 0 4px white,
    inset 0 0 0 5px black;
  min-height:10em;
  position:relative;
  background:pink;
}
div:before {
  content:'';
  display:inline-block;
  float:left;
  width:5%;
  height:2em;
  height:12vh;
  background:white;
  box-shadow: 
    -1px -1px white,
    2px 2px 0 2px white, 
    1px 4px 0 0 black,
    4px 5px 0 0 black,
    5px 4px 0 0 black,
    inset -1px -1px 0 0 black;
}
div:after {
  position:absolute;
  content:'';
  height:32px;
  width:32px;
  background:white;
  box-shadow:1px 1px 0 0 black,
    4px 4px 0 0 white,
    5px 5px 0 0 black;
  right:0;
  top:3em;
  margin-right:-18px;
  transform:rotate(135deg);
}