制作不同形状的border属性

一个简单不能在简单的CSS属性:border,随便打开一个网页都会有它的存在,然而,这样一个不起眼的属性,就只是在其他元素的周围加了一个线框或者一条单一的水平线而已。今日我将揭开它神秘的面纱,看看面纱下面到底是何等让人仰慕的面容。

首先来看一看,我们曾经一笔带过的属性是多么的单调,HTML和CSS代码(效果一):

<span class="border"></span>.border{
    width:38px;
    height:38px;
    border:1px solid #000;
    display:inline-block;
}

紧接着把组合的 border 属性里的宽度、类型以及颜色都拆分出来,并且不编写其他的样式属性(display:inline-block;这个是为了整体好看),来看看它本身最基本的面貌,HTML和CSS代码(效果二):

 1 <span class="border"></span>        <!-- 常见的边框 -->
 2
 3 <span class="angle"></span>         <!-- 不同颜色的边框 -->
 4
 5 <span class="angle_top"></span>     <!-- 上 边框 -->
 6
 7 <span class="angle_right"></span>   <!-- 右 边框 -->
 8
 9 <span class="angle_bottom"></span>  <!-- 下 边框 -->
10
11 <span class="angle_left"></span>    <!-- 左 边框 -->
 1 .border{
 2     width:38px;
 3     height:38px;
 4     border:1px solid #000;
 5     display:inline-block;
 6 }

       (图1)

 1 .angle_top{
 2     border-style:solid;border-width:20px;border-color:#000 transparent transparent;
 5     display:inline-block;
 6 }
 7 .angle_right{
 8     border-style:solid;border-width:20px;border-color:transparent #000 transparent transparent;
11     display:inline-block;
12 }
13 .angle_bottom{
14     border-style:solid;border-width:20px;border-color:transparent transparent #000;
17     display:inline-block;
18 }
19 .angle_left{
20     border-style:solid;border-width:20px;border-color:transparent transparent transparent #000;
23     display:inline-block;
24 }

              (图2)

 1 .angle_top{
 2     border-style:solid;border-width:20px 20px 0;border-color:#000 transparent transparent;
 5     display:inline-block;
 6 }
 7 .angle_right{
 8     border-style:solid;border-width:20px 20px 20px 0;border-color:transparent #000 transparent transparent;
11     display:inline-block;
12 }
13 .angle_bottom{
14     border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #000;
17     display:inline-block;
18 }
19 .angle_left{
20     border-style:solid;border-width:20px 0 20px 20px;border-color:transparent transparent transparent #000;
23     display:inline-block;
24 }

              (图3)

 1 .angle_top{
 2     border-style:solid;border-width:20px 20px 0;border-color:#000 transparent transparent;
 5     display:inline-block;
 6     position:relative;
 7 }
 8 .angle_top:before{
 9     content:"";
10     border-style:solid;border-width:20px 20px 0;border-color:#fff transparent transparent;
13     position:absolute;
14     top:-22px;
15     left:-20px;
16 }
17 .angle_right{
18     border-style:solid;border-width:20px 20px 20px 0;border-color:transparent #000 transparent transparent;
21     display:inline-block;
22     position:relative;
23 }
24 .angle_right:before{
25     content:"";
26     border-style:solid;border-width:20px 20px 20px 0;border-color:transparent #fff transparent transparent;
29     position:absolute;
30     top:-20px;
31     left:2px;
32 }
33 .angle_bottom{
34     border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #000;
37     display:inline-block;
38     position:relative;
39 }
40 .angle_bottom:before{
41     content:"";
42     border-style:solid;border-width:0 20px 20px;border-color:transparent transparent #fff;
45     position:absolute;
46     top:2px;
47     left:-20px;
48 }
49 .angle_left{
50     border-style:solid;border-width:20px 0 20px 20px;border-color:transparent transparent transparent #000;
53     display:inline-block;
54     position:relative;
55 }
56 .angle_left:before{
57     content:"";
58     border-style:solid;border-width:20px 0 20px 20px;border-color:transparent transparent transparent #fff;
61     position:absolute;
62     top:-20px;
63     left:-22px;
64 }

              (图4)

时间: 2024-10-12 12:40:13

制作不同形状的border属性的相关文章

使用CSS3制作各种形状

CSS3的一个非常酷的特性是允许我们创建各种规则和不规则形状的图形,从而可以减少图片的使用.以前只能在Photoshop等图像编辑软件中制作的复杂图形现在使用CSS3就可以完成了.通过使用新的CSS属性,像transform和border-radius,我们可以创建非常漂亮和复杂的图形效果. 圆形 圆形在设置CSS时要设置宽度和高度相等,然后设置border-radius属性为宽度或高度的一半即可 #circle { width: 120px; height: 120px; background

CSS3制作各种形状图像

圆形-椭圆形-三角形-倒三角形=左三角形-右三角形-菱形-平行四边形- 星形-六角星形-五边形-六边形-八角形-心形-蛋形-无穷符号-消息提示框 不废话直接 html界面(亲测的) ------转自百度经验 http://jingyan.baidu.com/article/e52e36154226ef40c70c5148.html <!DOCTYPE html><html> <head> <meta charset="utf-8"> &l

CSS:不可思议的border属性

原文:Magic of CSS border property 译文:不可思议的CSS border属性 译者:dwqs 在CSS中,其border属性有很多的规则.对于一些事物,例如三角形或者其它的图像,我们仍然使用图片代替.但是现在就不需要了,我们可以用CSS形成一些基本图形,我分享了一些关于这方面的技巧. 1.正三角形: .triangle_up { height:0px; width:0px; border-bottom:50px solid #006633; border-left:5

CSS3制作动画的三个属性

CSS3属性中有关于制作动画的三个属性:Transform,Transition,Animation:我们一起学习完了Transform和Transition,让我们对元素实现了一些基本的动画效果,这些我想足以让大家激动了一阵子,今天我们趁着这个热劲继续第三个动画属性Animation的学习,单从Animation字面上的意思,我们就知道是“动画”的意思.但CSS3中的Animation与HTML5中的Canvas绘制动画又不同,Animation只应用在页面上已存在的DOM元素上,而且他跟Fl

[转]图解CSS的padding,margin,border属性(详细介绍及举例说明)

图解CSS的padding,margin,border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).边框距(padding).边界(border)和边距(margin). 对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响

CSS padding margin border属性详解

图解CSS padding.margin.border属性W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).内边距(padding).边框(border)和外边距(margin).对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响.

Css之border属性

设置border属性作用:设置对象边框样式,设置单独上边框.下边框.左边框.右边框样式,实现美化美观.边框起到分割.规划布局作用. 1.四个边框 border-left 设置左边框,一般单独设置左边框样式使用border-right 设置右边框,一般单独设置右边框样式使用border-top 设置上边框,一般单独设置上边框样式使用border-bottom 设置下边框,一般单独设置下边框样式使用,有时可将下边框样式作为css下划线效果应用. 2.四边相同边框border简写#divcss5{bo

转-CSS padding margin border属性详解

原文链接:http://www.cnblogs.com/linjiqin/p/3556497.html 图解CSS padding.margin.border属性W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).内边距(padding).边框(border)和外边距(margin).对于初学者,经常会搞不清楚margin,background-color,b

border属性妙用

以前只知道border属性是盒模型中的边框属性,一直不清楚每个边的border是矩形拼接有重合呢,还是梯形无缝拼接的. border梯形 为了观察边框究竟是哪一种拼接方式,为边框设置不同的颜色背景,代码如下: #content{ width: 100px; height: 100px; background: #FFC; border-top: 80px solid #0F0; border-right: 80px solid #09C; border-bottom: 80px solid #9