当别人已经在用div+css时,我还在使用table;当别人已经重构、语义、可访问性时,我还刚刚掌握div+css;之前制作圆角矩形一直使用图片 拼接四个角,这种方式就是额外增加了多个图片,相对让人抓狂。
经过一段时间的琢磨,终于掌握了无图片制作圆角矩形的方法。
如上图,该矩形的圆角可表示为(4,3)即x轴上有4个象素,y轴上有3个象素,注意这里垂直方向上可认为有三行,第一行宽度为2px,其他两行宽度为 1px;水平方向上可认为有四列,其中第一二列比第三列高1px,第三列比第四列高1px。这样就给人视觉上造成一种圆角的形象,实际上计算机中也就是通 过这种方式去显示这种曲线类图形。
下面开始html
1 <div class="circleBox">
2 <div class="containerBox">
3 <span class="s1"></span><span class="s2"></span><span class="s3"></span><span class="s4"></span>
4 <div class="content">
5 <h4>这里是文字标题</h4>
6 <p>这里是一段文字,放在圆角矩形中</p>
7 <a href="http://www.51obj.cn/" title="http://www.51obj.cn/">www.51obj.cn作品</a>
8 </div>
9 <span class="s5"></span><span class="s6"></span><span class="s7"></span><span class="s8"></span>
10 </div>
11 </div>
2 <div class="containerBox">
3 <span class="s1"></span><span class="s2"></span><span class="s3"></span><span class="s4"></span>
4 <div class="content">
5 <h4>这里是文字标题</h4>
6 <p>这里是一段文字,放在圆角矩形中</p>
7 <a href="http://www.51obj.cn/" title="http://www.51obj.cn/">www.51obj.cn作品</a>
8 </div>
9 <span class="s5"></span><span class="s6"></span><span class="s7"></span><span class="s8"></span>
10 </div>
11 </div>
这里上面与下面各4个span用于定位象素。
然后是CSS
1 *{ padding:0; margin:0;}
2 .circleBox{ font-size:12px; margin-top:80px;}
3 .containerBox{ margin:0 auto; width:400px;}
4 .circleBox span{ height:1px; font-size:1px; display:block;}
5 .content{ border-left:solid 1px #d00; border-right:solid 1px #d00; height:180px; position:relative;}
6 .s1,.s8{ margin:0 5px; background:#d00;}
7 .s2,.s7{ margin:0 3px; border-left:solid 2px #d00; border-right:solid 2px #d00;}
8 .s3,.s6{ margin:0 2px; border-left:solid 1px #d00; border-right:solid 1px #d00;}
9 .s4,.s5{ margin:0 1px; border-left:solid 1px #d00; border-right:solid 1px #d00;}
10 .content,.s2,.s3,.s4,.s5,.s6,.s7{background:#fcc;}
11 .content h4{ color:#036; font-size:18px; padding:4px;}
12 .content p{ line-height:160%; font-size:12px; border-top:dotted 1px #d00; padding:4px;}
13 .content a{ position:absolute; bottom:4px; right:10px;}
2 .circleBox{ font-size:12px; margin-top:80px;}
3 .containerBox{ margin:0 auto; width:400px;}
4 .circleBox span{ height:1px; font-size:1px; display:block;}
5 .content{ border-left:solid 1px #d00; border-right:solid 1px #d00; height:180px; position:relative;}
6 .s1,.s8{ margin:0 5px; background:#d00;}
7 .s2,.s7{ margin:0 3px; border-left:solid 2px #d00; border-right:solid 2px #d00;}
8 .s3,.s6{ margin:0 2px; border-left:solid 1px #d00; border-right:solid 1px #d00;}
9 .s4,.s5{ margin:0 1px; border-left:solid 1px #d00; border-right:solid 1px #d00;}
10 .content,.s2,.s3,.s4,.s5,.s6,.s7{background:#fcc;}
11 .content h4{ color:#036; font-size:18px; padding:4px;}
12 .content p{ line-height:160%; font-size:12px; border-top:dotted 1px #d00; padding:4px;}
13 .content a{ position:absolute; bottom:4px; right:10px;}
效果见下图
考虑可重用性,可将上面更改为下种方式
1 <style type="text/css">
2 *{ padding:0; margin:0;}
3 .circleBox{ font-size:12px; margin-top:80px;}
4 .containerBox{ margin:0 auto; width:400px;}
5 .circleBox span{ height:1px; font-size:1px; display:block;}
6 .content{ height:180px; position:relative;}
7 .s1,.s8{ margin:0 5px;}
8 .s2,.s7{ margin:0 3px; border-left:solid 2px; border-right:solid 2px;}
9 .s3,.s6{ margin:0 2px; border-left:solid 1px; border-right:solid 1px;}
10 .s4,.s5{ margin:0 1px; border-left:solid 1px; border-right:solid 1px;}
11 .content h4{ color:#036; font-size:18px; padding:4px;}
12 .content p{ line-height:160%; font-size:12px; border-top:dotted 1px #d00; padding:4px;}
13 .content a{ position:absolute; bottom:4px; right:10px;}
14 /*定义样式*/
15 .boxStyle .content{ border-left:solid 1px #4B5805; border-right:solid 1px #4B5805;}
16 .boxStyle span{ border-color:#4B5805;}
17 .boxStyle .s1,.boxStyle .s8{ background:#4B5805;}
18 .boxStyle .content,.boxStyle .s2,.boxStyle .s3,.boxStyle .s4,.boxStyle .s5,.boxStyle .s6,.boxStyle .s7{background:#BFDEA0;}
19 </style>
20 </head>
21
22 <body>
23 <div class="circleBox">
24 <div class="containerBox boxStyle">
25 <span class="s1"></span><span class="s2"></span><span class="s3"></span><span class="s4"></span>
26 <div class="content">
27 <h4>这里是文字标题</h4>
28 <p>这里是一段文字,放在圆角矩形中</p>
29 <a href="http://www.51obj.cn/" title="http://www.51obj.cn/">www.51obj.cn作品</a>
30 </div>
31 <span class="s5"></span><span class="s6"></span><span class="s7"></span><span class="s8"></span>
32 </div>
33 </div>
2 *{ padding:0; margin:0;}
3 .circleBox{ font-size:12px; margin-top:80px;}
4 .containerBox{ margin:0 auto; width:400px;}
5 .circleBox span{ height:1px; font-size:1px; display:block;}
6 .content{ height:180px; position:relative;}
7 .s1,.s8{ margin:0 5px;}
8 .s2,.s7{ margin:0 3px; border-left:solid 2px; border-right:solid 2px;}
9 .s3,.s6{ margin:0 2px; border-left:solid 1px; border-right:solid 1px;}
10 .s4,.s5{ margin:0 1px; border-left:solid 1px; border-right:solid 1px;}
11 .content h4{ color:#036; font-size:18px; padding:4px;}
12 .content p{ line-height:160%; font-size:12px; border-top:dotted 1px #d00; padding:4px;}
13 .content a{ position:absolute; bottom:4px; right:10px;}
14 /*定义样式*/
15 .boxStyle .content{ border-left:solid 1px #4B5805; border-right:solid 1px #4B5805;}
16 .boxStyle span{ border-color:#4B5805;}
17 .boxStyle .s1,.boxStyle .s8{ background:#4B5805;}
18 .boxStyle .content,.boxStyle .s2,.boxStyle .s3,.boxStyle .s4,.boxStyle .s5,.boxStyle .s6,.boxStyle .s7{background:#BFDEA0;}
19 </style>
20 </head>
21
22 <body>
23 <div class="circleBox">
24 <div class="containerBox boxStyle">
25 <span class="s1"></span><span class="s2"></span><span class="s3"></span><span class="s4"></span>
26 <div class="content">
27 <h4>这里是文字标题</h4>
28 <p>这里是一段文字,放在圆角矩形中</p>
29 <a href="http://www.51obj.cn/" title="http://www.51obj.cn/">www.51obj.cn作品</a>
30 </div>
31 <span class="s5"></span><span class="s6"></span><span class="s7"></span><span class="s8"></span>
32 </div>
33 </div>
其中boxStyle中相关颜色可定义风格