css3边框_动力节点Java学院整理


Posted in HTML / CSS onJuly 11, 2017

CSS3中的边框(Border). 这对我们来说并不陌生.多少次写下 border:1px solid red了..那么CSS3中会给我们带来什么惊喜呢?

在CSS3中.边框多了4种新特性

1.Border-color(设置边框颜色)

2.Border-image(通过图片设置为边框)

3.Border-radius(边框的半径)

4.box-shadow(阴影效果)

而我使用的浏览器版本为:IE8,  FireFox10.0.9,  Chrome 22.0.1229.94, Safari 5.1.7, Opera 12.50。。。基本都是最新版本.

我们之前要给一个div加上边框时,我们会这样写

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red;    
        }
    </style>
</head>
<body>
    <div class='border_test'>常用的边框样式</div>
</body>
</html>

border-color

css3边框_动力节点Java学院整理 

既然我们已经可以设置边框颜色了,为什么还要border-color呢?因为CSS3的border有所不同.

使用border-color如果你设置了边框宽度是X。那么你就可以在这个这个边框上使用X种颜色,每种颜色显示1px的宽度.(ps:如果你边框宽度是10px,而你只设置了5种颜色,那么最后一种颜色将会填充剩下的宽度)

具体写法看下面代码

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            border-color:red blue green black;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-color样式</div>
</body>
</html>

但是结果和我们想的并不一样.

css3边框_动力节点Java学院整理 

我们只看到了4个边框分别对应4种颜色.分别是 上 右 下 左。

当然,如果我们只输入3种颜色,中间的颜色就对应 左和右,具体的自己试一下吧.

那么之前我们说的每像素一种颜色的效果呢?别着急."那么你就可以在这一边框上使用X种颜色".因为border-color是针对整个4条边框的,所以不是针对某条边框的.

如果我们需要做到上面的效果,可以针对某一条边框设置。他们分别是:

  1. border-top-color
  2. border-right-color
  3. border-bottom-color
  4. border-left-color

所以我们需要改一下代码

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-border-top-colors:Blue Yellow Red Black Green;
            -moz-border-bottom-colors:Blue Yellow Red Black Green;
            -moz-border-right-colors:Blue Yellow Red Black Green;
            -moz-border-left-colors:Blue Yellow Red Black Green;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-color样式</div>
</body>
</html>

运行后

css3边框_动力节点Java学院整理 

效果出来了有木有?虽然看不太清楚,不过确实每个像素一个颜色了,这样如果我们要做渐变颜色的话就方便了很多,只需要调整颜色就好了

css3边框_动力节点Java学院整理 

.border_test
        {
            border:5px solid red; 
            -moz-border-top-colors:Blue Yellow Red Black Green;
            -ms-border-top-colors:Blue Yellow Red Black Green;
            -wekit-border-top-colors:Blue Yellow Red Black Green;
            -o-border-top-colors:Blue Yellow Red Black Green;
            border-top-colors:Blue Yellow Red Black Green;
        }

但是却发现,只有火狐上出现了效果,也就是说,border-边框-colors这个属性只有在火狐上可用,其他的不兼容.可惜了..

Border-image

border-image主要是用图片来填充边框.

border-image的分解属性分别为

  1. border-image-source 指定border的背景图的url
  2. border-image-slice 设置图片如何切割的属性,非定位!
  3. border-image-width 定义border-image的显示区域的
  4. border-image-repea  

下面我们来逐个解析.

border-image-source

这个是指定border的背景图的url, 例

border-image-source :url(../images/border.gif);

这里可以设置为none,也就是无背景图

border-image-slice

设置图片如何切割的属性,(重点理解)他的值是四个数值, 没单位(实际上是已经固定是px了, 注意, 这个值不能是负值或大于图片的尺寸), 例如: border-image-slice:1 2 3 4; 你想得没错, 同样对应的是”上右下左”,将这几个数值, 把背景图片, 切割开来,具体一会再说

border-image-width

定义border-image的width, 这个是定义border-image的显示区域的(这个只是在w3c上描述的, 但在实际测试过, 设置这个属性没有作用, 但是border-width能生效)

border-image-repeat;

repeat有三个值选择

[ stretch | repeat | round ]:拉伸 | 重复 | 平铺 (其中stretch是默认值。)

好了,我们回头来看slice,也就是切割.= =说实话,不知道该怎么讲,还是上图吧.

css3边框_动力节点Java学院整理                                       css3边框_动力节点Java学院整理

左上图是一个这样的样式.border-image-slice:10 15 20 25; 他会将图片分割为右上边这样的9宫格图片.

left,top,right,bottom分别是你设置的距离,这一部分会被抽取出来作为边框.

top-left,  top-right, bottom-left, bottom-right同样会被抽取出来,与left,top,right,bottom不同的是,他们不会受repeat,stretch,round的影响.

而left,top,right,bottom,则有可能因为拉伸什么的而改变宽度和高度.不知道这样说会不会容易理解点?

下面看代码

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            -webkit-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -moz-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -o-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -ms-border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            -border-image: url(6.jpg) 0 12 0 12 stretch stretch;
            display: block;
            
            border-width: 0 12px;
            padding: 10px;
            text-align: center;
            font-size: 16px;
            text-decoration: inherit;
            color:white;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-image样式</div>
</body>
</html>

效果如下

css3边框_动力节点Java学院整理 

用的材料图是

css3边框_动力节点Java学院整理 

同样可惜的是,我这里只有FireFox和Safari出了效果,当然这也不能排序Chrome不能,因为听说有几个版本的可以。 

Border-radius

终于到圆角了,感觉花了那么多字去写css3有点怪,因为本来很简单的- -哈

border-radius

参数:半径,不可以是负数,为0的话是直角

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-border-radius:15px;
            -ms-border-radius:15px;
            -wekit-border-radius:15px;
            -o-border-radiuss:15px;
            border-radius:15px;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-radius样式</div>
</body>
</html>

效果

css3边框_动力节点Java学院整理 

圆角效果是比较常见的,而且在FireFox,Chrome,Safari,Opera都支持圆角效果,可惜IE还是只能回老家喝粥.不过据说IE9支持了。

相关属性: border-top-right-radius , border-bottom-right-radius , border-bottom-left-radius , border-top-left-radius

分别对应一个位置,需要注意的是,如果只有一个,会变成4分之1圆角,如果这4个里其中一个为0,那就回变成直角- -这个我也很纳闷.

box-shadow

最后一个,阴影

<html>
<head>
    <style type="text/css"> 
        .border_test
        {
            border:5px solid red; 
            -moz-box-shadow:5px 2px 6px black;
            -ms-box-shadow:5px 2px 6px black;
            -wekit-box-shadow:5px 2px 6px black;
            -o-box-shadow:5px 2px 6px black;
            box-shadow:5px 2px 6px black;
        }
    </style>
</head>
<body>
    <div class='border_test'>CSS3 Border-shadow样式</div>
</body>
</html>

css3边框_动力节点Java学院整理 

三个像素值和颜色分别是

阴影水平偏移值(可取正负值);阴影垂直偏移值(可取正负值);阴影模糊值;阴影颜色

依然是IE回家喝粥,其他都可以。郁闷

HTML / CSS 相关文章推荐
纯DOM+CSS3实现简单的小风车动画
Sep 27 HTML / CSS
CSS实现定位元素居中的方法
Jun 23 HTML / CSS
CSS3制作漂亮的照片墙的实现代码
Jun 08 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
Sep 18 HTML / CSS
如何用css3实现switch组件开关的方法
Feb 09 HTML / CSS
x-ua-compatible content=”IE=7, IE=9″意思理解
Jul 22 HTML / CSS
HTML5和以前HTML4的区别整理
Oct 20 HTML / CSS
HTML最新标准HTML5总结(必看)
Jun 13 HTML / CSS
Html5 web本地存储实例详解
Jul 28 HTML / CSS
HTML5 解决苹果手机不能自动播放音乐问题
Dec 27 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
Jun 10 HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 HTML / CSS
使用 css3 实现圆形进度条的示例
Jul 05 #HTML / CSS
css3学习系列之移动属性详解
Jul 04 #HTML / CSS
用CSS3实现无限循环的无缝滚动的实例代码
Jul 04 #HTML / CSS
利用css3如何设置没有上下边的列表间隔线
Jul 03 #HTML / CSS
利用css3画个同心圆示例代码
Jul 03 #HTML / CSS
详解CSS3中强大的filter(滤镜)属性
Jun 29 #HTML / CSS
使用CSS3制作一个简单的进度条(demo)
May 23 #HTML / CSS
You might like
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
php写app用的框架整理
2019/09/29 PHP
网页自动刷新,不产生嗒嗒声的一个解决方法
2007/03/27 Javascript
Dom 是什么的详细说明
2010/10/25 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
bootstrap table表格插件之服务器端分页实例代码
2018/09/12 Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
浅析css3中matrix函数的使用
2016/06/06 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
年终奖发放方案
2014/06/02 职场文书
三八活动策划方案
2014/08/17 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
教师党员自我评价范文
2015/03/04 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python