javascript - 怎么控制圆形自适应,有两行文字。高宽不能写死...
高洛峰
高洛峰 2017-04-11 13:03:02
[JavaScript讨论组]


如果JavaScript可以实现,求贴代码。。。。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(5)
PHP中文网

https://jsfiddle.net/chersquw...

巴扎黑
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>demo</title>
    <style>
        .main::before {
            content: "";
            display: inline-block;
            height: 100%;
            vertical-align: middle;
            margin-right: -.25em;
        }
        .demo {
            border-radius: 50%;
            background: #00aaff;
            height: 0;
            width: auto;
            display: inline-block;
            vertical-align: middle;
        }
        .demo-content {
            padding: 0 20px;
            width: auto;
            height: 100%;
        }
        .demo-content::before {
            content: "";
            display: inline-block;
            height: 100%;
            vertical-align: middle;
            margin-right: -.25em;
        }
        .demo-content p {
            display: inline-block;
            vertical-align: middle;
        }
        .demo-content p {
            width: auto;
            text-align: center;
            color: #fff;
            margin: 0;
        }
    </style>
</head>
<body>
    <p class="main">
        <p class="demo">
            <p class="demo-content">
                <p>
                    <p>title</p>
                    <p>1234567890</p>
                </p>
            </p>
        </p>

        <p class="demo">
            <p class="demo-content">
                <p>
                    <p>title</p>
                    <p>12345678909876543211234567890</p>
                </p>
            </p>
        </p>

        <p class="demo">
            <p class="demo-content">
                <p>
                    <p>title</p>
                    <p>123</p>
                </p>
            </p>
        </p>

        <p class="demo">
            <p class="demo-content">
                <p>
                    <p>title</p>
                    <p>12312312312312312312</p>
                </p>
            </p>
        </p>
    </p>

    <script>
        var $box = document.querySelectorAll('.demo');

        $box.forEach(function (val, index) {
            console.log(val)
            val.style.height = val.offsetWidth + 'px';
        })
    </script>
</body>
</html>
天蓬老师

我草, 我来我来!

border-radius:50%

当然, 盒子必须宽高相等, 否则不变成椭圆了??

PHP中文网

宽度用padding自适应,高度用js计算宽度赋值,然后border-radius: 50%;

怪我咯

这个不只是圆形自适应问题,更是盒子宽度自适应问题。
根据设计图计算对应的盒子的宽度,动态赋值width和height。

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

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