svg+css实现border-image-slice边框图片切割效果代码

代码语言:html

所属分类:布局界面

代码描述:svg+css实现border-image-slice边框图片切割效果代码

代码标签: svg css border-image-slice 边框 图片 切割

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
 
<meta charset="UTF-8">

 
 
<style>
body
{
 
font-family: consolas;
 
font-size: 12px;
 
min-height: 100vh;
 
--R: 250;
 
--Rpx: calc(var(--R) * 1px);
 
--r: calc(1px * var(--R) / 100);
}
p
{
 
text-align: center;
}

#wrap {
 
position: absolute;
 
width: var(--Rpx);
 
height: var(--Rpx);
 
margin: auto;
 
top: 0;
 
bottom: 0;
 
left: 0;
 
right: 0;
}

#wrap span {
 
box-sizing: border-box;
 
display: block;
 
background-color: red;
 
width: 10px;
 
height: 10px;
 
position: absolute;
 
cursor: all-scroll;
}

#wrap span.active {
 
outline: 1px solid black;
 
background: gold;
}

#wrap span.active::before {
 
content: attr(data-title);
 
position: absolute;
 
width: 759px;
}

#wrap #rSpan {
 
/*right*/
 
top: -5px;
 
left: -5px;
 
transform: translate(calc((100 - 45) * var(--r)), 0);
}

#wrap #bSpan {
 
/*bottom*/
 
right: -5px;
 
top: -5px;
 
transform: translate(0, calc((100 - 45) * var(--r)));
 
/*background-color: green;*/
}
#wrap #lSpan {
 
/**left*/
 
bottom: -5px;
 
left: -5px;
 
transform: translate(calc(45 * var(--r)), 0);
 
/*background-color: blue;*/
}
#wrap #tSpan {
 
/*top*/
 
left: -5px;
 
top: -5px;
 
transform: translate(0, calc(45 * var(--r)));
 
/*background-color: purple;*/
}

#wrap #rSpan::before {
 
top: -1.5em;
}
#wrap #bSpan::before {
 
left: 1em;
 
top: -5px;
}

#wrap #lSpan::before {
 
bottom: -1em;
}

#wrap #tSpan::before {
 
left: -75px;
 
top: -5px;
}

#wrap {
 
border: 1px solid;
}

#BI {
 
padding: 2em;
 
border: 17px solid black;
 
position: absolute;
 
width: 60%;
 
min-width: 370px;
 
height: var(--Rpx);
 
margin: auto;
 
top: 0;
 
bottom: 0;
 
left: 0;
 
right: 0;

 
/*  
border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M2,22h2v-4h-2v-4h6v-12h4v4h-10v-4h4v10h-4v-4h12v-6h4v2h4v-2 H78v2h4v-2h4v6h12v4h-4v-10h4v4h-10v-4h4v12h6v4h-2v4h2 V78h-2v4h2v4h-6v12h-4v-4h10v4h-4v-10h4v4h-12v6h-4v-2h-4v2 H22v-2h-4v2h-4v-6h-12v-4h4v10h-4v-4h10v4h-4v-12h-6v-4h2v-4h-2V22z ' fill='none' stroke='black'%3E%3C/path%3E%3Cg id='lines'%3E%3C/g%3E%3C/svg%3E");
border-image-slice:45%;
border-image-repeat:round;
border-image-width: 20px;
border-image-outset:5px;*/

}

#lines {
 
stroke: black;
 
stroke-width: 1px;
 
fill: none;
 
vector-effect: non-scaling-stroke;
}

#controls {
 
display: none;
}

[type="range"] {
 
position: relative;
 
top: 5px;
}
#bioSpan {
 
display: inline-block;
 
width: 5em;
 
text-align: left;
}
</style>

</head>

<body >
 
<p><label>Use the slider to change the `border_image_width`: <input type="range" id="border_image_width" value="20" /></label><span id="biwSpan"></span></p>
<p>Drag the red points to change the `border-image-slice` value.  
</p>

<div id="controls"><!--display:none-->
  <input type="range" id="t_input" min="0" max="100" value="45" ste.........完整代码请登录后点击上方下载按钮下载查看

网友评论0