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);
}