详解css3之border-image_html/css_WEB-ITnose

php中文网
发布: 2016-06-21 09:03:54
原创
1291人浏览过

border-image简介

css3中新增了一个属性border-image,这个属性允许开发者使用图片来定义边框,扩充了 css2 中仅有的几个预定义边框样式(border-style)。
border-image 是一个简写属性,分别设定了以下几个属性。

  • border-image-source

  • border-image-slice

  • border-image-width

  • border-image-outset

    立即学习前端免费学习笔记(深入)”;

  • border-image-repeat

  • 为什么图片可以作为边框?

    在开始学习border-image之前我有一个疑问,图片是怎么应用到容器的边框上的?

    看下图

    简单的说就是把图片的中间部分去掉,从而形成一个类似边框的框架。

    那么如何使用被划分出来的八格素材来生成一个边框呢?

    左上、右上、左下、右下的四格素材分别作为边框的四个角,而上下左右的四格素材分别经过不同形式的扩展,形成边框的四条边。上图很好的说明了图片形成边框的处理形式。

    border-image-source

    border-image-source属性用来指定边框所需素材的路径,语法可以参照backgound-image。
    需要注意的是,如果只设置了border-image-source属性而其他属性使用缺省值,则边框素材不会被划分九宫格,而是将整个素材按照边框宽度缩放至合适尺寸后安放在边框四角

    <!doctype html><html><head><meta charset="utf-8"><title>边框图片</title><style>#border_image {    width:100px;    height:100px;    border:15px solid #ccc;    border-image:url("http://img.mukewang.com/52e21fea000127e802100210.jpg");    background:#ccc;    }</style></head><body><div id="border_image"></div></body></html>
    登录后复制

    如下图

    border-image-slice

    border-image-slice属性用来设置边框素材的切割尺寸,如下图,依次是上横切割线,右竖切割线,下横切割线,左竖切割线。数值分别代表从上、右、下、左边缘向素材中心延伸的像素/百分比数
    注意:切割的数值只接受像素和百分比两个单位,并且像素单位必须省略,即只接收数值或者百分比的形式。例如,border-image-slice: 10 10 30 10代表图片素材按照下图的样式被切割:

    border-image-width

    border-image-width用来设置边框素材的宽度,当同时设置了border-image-width和border-width属性时,那么边框的实际宽度由border-width属性决定。此时,如果border-image-width属性小于border-width属性,边框图片会沿边框的外侧分布而内侧留空形成 padding 的效果;如果border-image-width属性大于border-width属性,边框图片会仍会沿边框的外侧分布而内测溢出,如下图

    border-image-repeat

    border-image-repeat属性用来设置上下左右四边(即2、4、5、7四个素材块)的重复形式,分别有stretch repeat round space四个取值

  • stretch:指定用拉伸方式来填充边框背景图。

  • repeat:指定用平铺方式来填充边框背景图。当图片碰到边界时,如果超过则被截断。

  • round:指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的大小直至正好可以铺满整个边框。

  • space:指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的之间的间距直至正好可以铺满整个边框。

  • border-image-outset

    border-image-outset属性会产生使 border-image 相对于原始位置向外侧推移的效果,设置border-image-outset属性会使 border-image 溢出,但不会影响整个盒模型的尺寸,因此在设置此属性时要特别注意防止元素间的相互干扰。

    如下图

    后续

    border-image是css3属性所以存在兼容性问题,需要在属性前面设置-webkit

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习
    PHP中文网抖音号
    发现有趣的

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