css实现一系列箭头图标效果代码
代码语言:html
所属分类:布局界面
代码描述:css实现一系列箭头图标效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="UTF-8">
<style>
:root {
/* The values below should normally be placed under [data-css-icon], they're only at :root in this demo */
--icon-bdw: 2px;
--icon-size: 1.5rem;
--size: 3.75rem;
}
[data-css-icon] {
--animdur: .3s;
--loading-animdur: 0.8s;
--animtf: ease-in;
--bdrs: 50%;
--bgc: inherit;
--c: currentcolor;
--dots-bgc: silver;
--dots-size: calc(var(--size, 2.5rem) / 5);
--rgb: 0, 0, 0;
align-items: center;
cursor: pointer;
display: flex;
justify-content: space-between;
}
[data-css-icon] i {
--half: calc(var(--icon-size) / 2);
align-items: center;
background-color: var(--bgc);
border-radius: var(--bdrs);
box-sizing: content-box;
display: inline-flex;
height: var(--size);
justify-content: center;
position: relative;
transition: background-color var(--animdur) var(--animtf);
width: var(--size);
}
[data-css-icon] i b,
[data-css-icon] i::after,
[data-css-icon] i::before {
--bdc: transparent;
--bdrs: 0;
--bdw: 0;
--befc: unset;
--bgcl: transparent;
--cpa: none;
--h: var(--icon-size);
--l: initial;
--o: 1;
--pos: relative;
--r: initial;
--t: initial;
--trf: none;
--trfo: 50% 50%;
--w: var(--icon-size);
background-color: var(--bgcl);
border-color: var(--bdc);
border-radius: var(--bdrs);
border-style: solid;
border-width: var(--bdw);
box-sizing: border-box;
clip-path: var(--cpa);
content: "";
display: inline-block;
height: var(--h);
left: var(--l);
margin: 0;
opacity: var (--o);
position: var(--pos);
right: var(--r);
top: var(--t);
transform: var(--trf);
transform-origin: var(--trfo);
transition: all var(--animdur) var(--animtf);
width: var(--w);
}
[data-css-icon] i::before {
content: var(--befc);
}
/* ARROWS / CHEVRONS / TRIANGLES */
[data-css-icon*="arr-"] i::after,
[data-css-icon*="chv-"] i::after {
--bdc: var(--c);
}
[data-css-icon*="arr-"] i::after {
--bdw: 0 var(--icon-bdw) var(--icon-bdw) 0;
--trf: rotate(45deg);
}
[data-css-icon*="chv-"] i::after {
--bdw: 0 var(--icon-bdw) var(--icon-bdw) 0;
--trl: calc(0px - (var(--icon-size) / 6));
--trf: rotate(45deg) translate(var(--trl), var(--trl));
}
[data-css-icon*="arr-"] i::before {
--trf: rotate(90deg) translateX(calc(0px - var(--icon-bdw)));
}
[data-css-icon*="tri-"] i::after {
--bgcl: var(--c);
--cpa: polygon(10% 20%,50% 90%,90% 20%);
}
[data-css-icon*="-left"] i { transform: rotate(90deg); }
[data-css-icon*="-right"] i { transform: rotate(-90deg); }
[data-css-icon*="-up"] i { transform: rotate(180deg); }
/* LINES: MINUS, PLUS, EQUALS, MENU */
[data-css-icon*="arr-"] i::before,
[data-css-icon*="equals"] i::after,
[data-css-icon*="equals"] i::before,
[data-css-icon*="cross"] i::after,
[data-css-icon*="cross"] i::before,
[data-css-icon*="menu"] i b,
[data-css-icon*="menu"] i::after,
[data-css-icon*="menu"] i::before,
[data-css-icon*="minus"] i::after,
[data-css-icon*="plus"] i::after,
[data-css-icon*="plus"] i::before {
/* Width need to be the diagonal of the down-arrow side-length (--size): sqrt(2) * --size. */
--bgcl: var(--c);
--befc: '';
--h: var(--icon-bdw);
--pos: absolute;
--w: calc(var(--icon-size) * 1.4142135623730950488016887242097);
}
[data-css-icon*="cross"] i::after { --trf: rotate(45deg); }
[data-css-icon*="cross"] i::before { --trf: rotate(135deg); }
[data-css-icon*="cross-turn"] i::after { --trf: rotate(0deg); }
[data-css-icon*="cross-turn"] i::before,
[data-css-icon*="plus"] i::before { --trf: rotate(90deg); }
[data-css-icon*="equals"] i { --dist: calc(var(--icon-size) / 4); }
[data-css-icon*="equals"] i::after { --trf: translateY(var(--dist)); }
[data-css-icon*="equals"] i::before { --trf: translateY(calc(0px - var(--dist))); }
[data-css-icon*="menu"] i::after { --trf: translateY(var(--half)); }
[data-css-icon*="menu"] i::before { --trf: translateY(calc(0px - var(--half))); }
/* OTHER ICONS */
[data-css-icon*="bag"] i::after {
--bdc: var(--c);
--bdrs: 0.25em;
--bdw: var(--icon-bdw);
}
[data-css-icon*="bag"] i::before {
--bdc: var(-.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0