热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在CSS中的hr元素下创建一个Spider

如何解决《在CSS中的hr元素下创建一个Spider》经验,为你挑选了1个好方法。

我正试图在一个


元素下生成一个蜘蛛网,但是当涉及到"圆形部分"时我遇到了一些问题.

我正在避免插入/使用SVG,因为这可能会或可能不会被用户插入(例如,用户可能hr在帖子中包含元素,并且我希望网络也出现在那里).

这表明hr元素需要以这样的方式设置样式,使其出现在元素的所有实例下hr(建议很少 - >没有额外的HTML元素).

我已经在下面列出了我想要实现的快速模型:

想要结果

像这个图像描绘的东西:

在此输入图像描述

现行守则

目前,我正努力在两个伪元素之间制作"锭子",而我生成"锭子"的最接近的方式是这样的:

html{
    margin:0;
    padding:0;
    background:rgba(0,0,0,0.1);
    color:black;    
}
hr{
    height:30px;
    border-bottom:none;
    border-right:none;
    position:relative;    
}
hr:before, hr:after{
    content:"m";
    position:absolute;
    height:40px;
    width:1px;
    top:0;
    left:0;
    transform-origin:top left;
    transform:rotate(-20deg);
    background:black;
}
hr:after{
transform:rotate(-40deg);    
}

当然,这看起来很可怕(主要是与可怕的'm重叠) - 但我似乎无法找到一种在没有它们的情况下产生这种形状的方法.

到目前为止的尝试

我试图通过content在伪元素中使用不同的字母来制作"网络链接"

我试过使用曲线/溢出隐藏,但这失败了(我可能会添加)


我真的很感激任何和所有的回应,如果有可能使用纯CSS,它会更好!但是现在我对如何实现这种功能感到失望.



1> Harry..:

注意:此答案仅发布,表明使用CSS可以实现此效果.但是,我建议SVG或PNG图像等用于这样的形状/效果,因为CSS并不是真的打算这样做.

CSS方法:

使用以下方法实现蜘蛛网效果:

    左侧和顶部的直角边框是hr元素的实际边框.高度明确指定给hr元素,因为hr默认情况下元素只有边框高度.

    使用沿X轴和Y轴倾斜的伪元素实现中间的对角线.

    使用另一个伪元素实现圆形部分,该伪元素具有50%border-radius并且还在box-shadows其两侧和下方投射.顶部第一行的中心圆/椭圆是实际元素,其余是阴影.通过为阴影指定额外的扩散半径,从顶部开始增加第二行中形状的阴影大小.

    阴影实际上是使用两个阴影形成的,其中一个放在另一个阴影的顶部(因为我们只需要一个弧而不是一个实心的椭圆).

hr{
    border-left: 2px solid black;
    border-top: 2px solid black;
    height: 200px;
    overflow: hidden;   
    position: relative;
    border-right: none;
    border-bottom: none;
}
hr:after{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    border-left: 2px solid black;
    border-top: 2px solid black;
    -webkit-transform: skewY(30deg) skew(30deg);
    -moz-transform: skewY(30deg) skew(30deg);
    transform: skewY(30deg) skew(30deg);
    -webkit-transform-origin: left top;
    -moz-transform-origin: left top;
    transform-origin: left top;
}
hr:before{
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    height: 30px;
    width: 36px;
    border-radius: 50%;
    border-top: 2px solid;
    -webkit-transform: translate(20px, 26px) rotate(-45deg);
    -moz-transform: translate(20px, 26px) rotate(-45deg);
    transform: translate(20px, 26px) rotate(-45deg);
    box-shadow: -35px -2px 0px white, -35px -4px 0px black,35px -1px 0px white, 34px -3px 0px black, -4px 56px 0px 16px white, -4px 53px 0px 15px black, -65px 56px 0px 16px white, -65px 53px 0px 15px black, -4px 53px 0px 15px black, 62px 56px 0px 20px white, 61px 52px 0px 18px black;
}


推荐阅读
author-avatar
水灵ruru
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有