div+css做圆角矩形【更新版】

  今天看了下Think的圆角矩形的div+css实现法。他大致是这样做的。

  根据margin的边距一点一点累加,或者累减。相对实现起来效果还算不错!就练习,研究了一下~

 

  html part

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<!-- round main -->
    <div id="round">
         
                <!-- r_top --->
                <div class="r_top">
                        <em class="r_a"></em>
                        <em class="r_b"></em>
                        <em class="r_c"></em>
                        <em class="r_d"></em>
                </div>
                 <!-- //r_top  end --->
                  
                    <!-- r_box --->
                <div class="r_box">
                    这是一个圆角矩形!<br />
                    这是一个圆角矩形!<br />
                    这是一个圆角矩形!<br />
                    这是一个圆角矩形!<br />
                    这是一个圆角矩形!<br />
                    这是一个圆角矩形!<br />
                </div>
                 <!-- //r_box  end --->
                  
                   <!-- r_bottom --->
                <div class="r_bottom">
                         <em class="r_d"></em>
                        <em class="r_c"></em>
                        <em class="r_b"></em>
                        <em class="r_a"></em>
                
                </div>
                   <!-- //r_bottom  end--->
            
            
    </div>
    <!-- // round main end-->

 

 

 

   css part

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
div,em{ margin:0; padding:0;}
#round{ width:500px; margin:0px 20px; }
.r_top,.r_bottom{ display:block; font-size:1px;}
 
.r_a,.r_b,.r_c,.r_d{ display:block; overflow:hidden; }
.r_a,.r_b,.r_c{ height:1px;}
.r_b,.r_c,.r_d{background:#CCFF66; }
 
 
.r_box{ background:#CCFF66; padding-left:10px; padding-right:10px;}
 
.r_a{ margin:0 5px; }
.r_b{ margin:0 3px; border-width:0 2px; }
.r_c{ margin:0 2px; }
.r_d{ height:2px; margin:0 1px; }

 

  测试一下兼容性。目前还可以。还没发现什么大的问题~~。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
为了更好的理解,先用简单的代码为例。
 
XHTML代码:
 
<b class="top">
<b class="b1"></b>
<b class="b2"></b>
<b class="b3"></b>
<b class="b4"></b>
</b>
CSS代码:
 
b{
display:block;
}
.b1,.b2,.b3,.b4{
overflow:hidden;
height:1px;
border-left:1px solid #000;
border-right:1px solid #000;
}
.b1{
margin:0 5px;
background:#000;
}
.b2{
margin:0 3px;
border-width:0 2px;
}
.b3{
margin:0 2px;
}
.b4{
height:2px;
margin:0 1px;
}

posted @   hevily  Views(1771)  Comments(0Edit  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示