• 纯css实现圆柱体-超简单!


    写在前面的话:

        在日常的工作中遇到一个需求,需要用圆柱体来表现每个项目的比例,首先想到的会事使用echarts中的柱状图来表现,但是为了一个圆柱体引用那么庞大的js库有点不合时宜的味道。其次是想到使用canvas画布工具里封装一个小插件供系统使用,可是要百度啥的,目前俺还不是很能熟练使用canvas,而且考虑再三之后使用纯css 是可以满足目前的开发要求的。

    正文:

    首先定义结构:

    点击查看代码
    <div class="lui-column-bg">
                <div class="lui-inner" style="height: 50%;">
                </div>
            </div>

    .lui-column-bg 用来做父容器其中的.lui-inner 作为子容器其高度和父容器的高度的百分比作为 项目比。

    其次是css,使用伪类元素before和after作为圆柱的上下底面。使用渐变的背景使得圆柱体更加立体一点。

    点击查看代码
    .lui-column-bg {
                position: relative;
                 50px;
                height: 90px;
                margin: 100px auto;
                background-color: transparent;
                background-color: rgba(0, 199, 159, 0.2);
            }
            .lui-column-bg:before {
                position: absolute;
                content: '';
                display: block;
                height: 20px;
                 100%;
                border-radius: 50%;
                top: -10.5px;
                z-index: 1;
                background-color: rgb(101 221 197);
            }
    
            .lui-column-bg:after {
                position: absolute;
                content: '';
                display: block;
                height: 15px;
                 100%;
                border-radius: 50%;
                bottom: -10px;
                background-color: rgb(0, 255, 204);
            }
    
            .lui-inner {
                position: absolute;
                bottom: 0;
                 100%;
                height: 50%;
                background-image: linear-gradient(to top, rgb(0, 255, 204), rgb(0, 199, 159));
                text-align: center;
            }
            .lui-inner::before {
                position: absolute;
                content: '';
                display: block;
                height: 20px;
                 100%;
                background-color: rgb(0, 199, 159);
                border-radius: 50%;
                top: -10.5px;
                z-index: 1;
            }
            .lui-inner:after {
                position: absolute;
                content: '';
                display: block;
                height: 15px;
                 100%;
                border-radius: 50%;
                background-color: white;
                bottom: -10px;
            }

    效果如下:

    最后附上完整的代码:

    点击查看代码
    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <title>css实现圆柱体</title>
        <style>
            .lui-column-bg {
                position: relative;
                 50px;
                height: 90px;
                margin: 100px auto;
                background-color: transparent;
                background-color: rgba(0, 199, 159, 0.2);
            }
            .lui-column-bg:before {
                position: absolute;
                content: '';
                display: block;
                height: 20px;
                 100%;
                border-radius: 50%;
                top: -10.5px;
                z-index: 1;
                background-color: rgb(101 221 197);
            }
    
            .lui-column-bg:after {
                position: absolute;
                content: '';
                display: block;
                height: 15px;
                 100%;
                border-radius: 50%;
                bottom: -10px;
                background-color: rgb(0, 255, 204);
            }
    
            .lui-inner {
                position: absolute;
                bottom: 0;
                 100%;
                height: 50%;
                background-image: linear-gradient(to top, rgb(0, 255, 204), rgb(0, 199, 159));
                text-align: center;
            }
            .lui-inner::before {
                position: absolute;
                content: '';
                display: block;
                height: 20px;
                 100%;
                background-color: rgb(0, 199, 159);
                border-radius: 50%;
                top: -10.5px;
                z-index: 1;
            }
            .lui-inner:after {
                position: absolute;
                content: '';
                display: block;
                height: 15px;
                 100%;
                border-radius: 50%;
                background-color: white;
                bottom: -10px;
            }
    
    
        </style>
    </head>
    
    <body>
        <div class="lui-column-bg">
                <div class="lui-inner" style="height: 50%;">
                </div>
            </div>
    
    </body>
    
    </html>

    感觉还可以的话留下你的赞是对我最大的鼓励@_@

    本文来自博客园,作者:七分暖,转载请注明原文链接:https://www.cnblogs.com/lin494910940/p/15101341.html

  • 相关阅读:
    SQL Server 2008的审核功能
    在SSMS(2008)中对数据库对象进行搜索和筛选
    关于在ASP.NET应用程序中异步调用Web Service的解决方案
    SSIS 2008中的Data Profiler任务
    开始Windows Embedded之旅
    在Access中计算两个日期之间的工作日天数
    当PrintForm遇到"RPC服务不可用的错误”
    REST 的知识 【转载】
    在C#中实现类似Eval这类动态求值的函数【转载】
    行内数据
  • 原文地址:https://www.cnblogs.com/lin494910940/p/15101341.html
Copyright © 2020-2023  润新知