html - CSS3能写出这种环状吗,不是环形进度条?
PHP中文网
PHP中文网 2017-04-17 15:18:01
[HTML讨论组]

抛开颜色不看 ,只是这种排版做得到吗?

PHP中文网
PHP中文网

认证0级讲师

全部回复(6)
PHP中文网

效果图:

用了SCSS来写,如果不太熟悉的话,可以看CSS。话不多说,直接上代码

index.html

<p class="loading">
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
    <p></p>
</p>

loading.scss

// 线条总数
$total: 13;
// 每个线条相差的角度
$angel: 180/($total - 1);

.loading {
    background: black;
    width: 400px;
    height: 400px;
    position: relative;
    p {
        position: absolute;
        display: block;
        width: 100%;
        height: 2px;
        top: 50%;
        transform-origin: 50% 50%;
        &:before {
            display: block;
            content: "";
            height: 100%;
            width: 10%;
            background: white;
        }
        @for $i from 1 through $total {
            &:nth-child(#{$i}) {
                transform: translate3d(0, -50%, 0) rotate(#{$angel*($i - 1)}deg);
                opacity: 0.2 + 0.8 * $i / $total;
            }
        }
    }
}

loading.css

.loading {
    background: black;
    width: 400px;
    height: 400px;
    position: relative;
}

.loading p {
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    top: 50%;
    transform-origin: 50% 50%;
}

.loading p:before {
    display: block;
    content: "";
    height: 100%;
    width: 10%;
    background: white;
}

.loading p:nth-child(1) {
    transform: translate3d(0, -50%, 0) rotate(0deg);
    opacity: 0.26154;
}

.loading p:nth-child(2) {
    transform: translate3d(0, -50%, 0) rotate(15deg);
    opacity: 0.32308;
}

.loading p:nth-child(3) {
    transform: translate3d(0, -50%, 0) rotate(30deg);
    opacity: 0.38462;
}

.loading p:nth-child(4) {
    transform: translate3d(0, -50%, 0) rotate(45deg);
    opacity: 0.44615;
}

.loading p:nth-child(5) {
    transform: translate3d(0, -50%, 0) rotate(60deg);
    opacity: 0.50769;
}

.loading p:nth-child(6) {
    transform: translate3d(0, -50%, 0) rotate(75deg);
    opacity: 0.56923;
}

.loading p:nth-child(7) {
    transform: translate3d(0, -50%, 0) rotate(90deg);
    opacity: 0.63077;
}

.loading p:nth-child(8) {
    transform: translate3d(0, -50%, 0) rotate(105deg);
    opacity: 0.69231;
}

.loading p:nth-child(9) {
    transform: translate3d(0, -50%, 0) rotate(120deg);
    opacity: 0.75385;
}

.loading p:nth-child(10) {
    transform: translate3d(0, -50%, 0) rotate(135deg);
    opacity: 0.81538;
}

.loading p:nth-child(11) {
    transform: translate3d(0, -50%, 0) rotate(150deg);
    opacity: 0.87692;
}

.loading p:nth-child(12) {
    transform: translate3d(0, -50%, 0) rotate(165deg);
    opacity: 0.93846;
}

.loading p:nth-child(13) {
    transform: translate3d(0, -50%, 0) rotate(180deg);
    opacity: 1;
}
巴扎黑

svg应该可以

伊谢尔伦

可以啊...每一个点都是一个元素 定位 旋转 颜色都可以符合

PHPz

完全可以!
你是不是不知道旋转?

PHP中文网

CSS3 的rotate,旋转角度,还有h5的canvas和svg

阿神

svg 和 canvas

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号