CSS之图片特殊用法

前沿:说起image,大家肯定会想到的两个功能:1. 直接使用<img>标签插入到html中;2. 作为背景图使用,那么还有没有什么其他的“骚操作”呢?

一 图片的常规用途

1 作为元素插入html中

这是我们最常用的用途,语法也十分简单,如下:

<img src="图片地址">

2 作为背景图

background-image: url("图片地址")

二 图片的特殊用途

下面我们来重点说一说图片的特殊用途

1 作为边框背景

边框一般都使用纯色或者渐变色来作为背景色,很少有用图片做背景。虽然不常用,但不代表我们不需要知道,毕竟多一点知识准没错!!!
首先我们了解以下有关border-image的属性:
1.获取边框图片资源

border-image-source: url("图片地址");

2.将边框图片分区

border-image-slice:<length> | <percentage>; 

这个属性时重点也是难点,我们需要特别注意。该属性其实就是将边框图片切割成9部分,如下图所示。然后属性值表示的是图中虚线的位置,即切割的位置。


image.png

与padding的属性取值一样,border-image-slice的取值顺序是上-右-下-左,其值可以为单值,也可以为多值。单值和多值所表示的含义与padding取值一样。举例如下

/* 所有的边 */
border-image-slice: 30%; 

/* 垂直方向 | 水平方向 */
border-image-slice: 10% 30%;

/* 顶部 | 水平方向 | 底部 */
border-image-slice: 30 30% 45;

/* 上 右 下 左 */
border-image-slice: 7 12 14 5;

取值为数值时,数值默认表示的是像素px,取值为百分比时,其相对对应的边去百分比。
划分好区域后,1-8板块分别对应边框相应的区域,然后根据选定的填充方式填充。
注:如果border-image-slice的值中多了一个fill(fill放在任意位置都可以),其含义时上图的9部分作为该区域的背景图使用

3.选择填充方式

border-image-repeat: stretch(默认) | repeat | round | space;  

上述代码中四个值的含义分别是:

  • stretch:默认;侧面的图像被拉伸来填满边界。这通常看起来很糟糕和像素化,所以不推荐。
  • repeat:边图像被重复,直到边界被填满。根据具体情况,这可能看起来不错,但您可能会看到一些难看的图像片段。
  • round: 边的图像被重复,直到边界被填满,它们都被稍微拉伸,这样就不会出现碎片。
  • space:边图像被重复,直到边界被填满,每个拷贝之间添加了少量的间隔,这样就不会出现任何片段。这个值只在Safari(9+)和Internet Explorer(11+)中得到支持。

通过以上3个属性我们就可以设置边框图了,当然跟设置背景图一样,我们也可以简写,示例代码如下:

border-image: url(border-image.png) 40 round;

注意:border-image还有两个不常用的属性:

border-image-outset: <length> | <percentage>; 
border-image-width: <length> | <percentage>; 

前者表示边框图像相对边框向外偏移的数值,取值方式同padding一样;后者表示边框图像的宽度,若border-image-width>border-width,则边框图像向内部扩展,其取值方式同padding一样。

2 作为文本颜色

我知道文本颜色可以是纯色,也可以是渐变色,但是图片能充当文本颜色却是我之前的知识盲区。要实现上述效果,我们需要先了解一下background-clip属性及其属性值。background-clip表示元素的背景(背景图或者颜色)是否延伸到边框下面,可取的值有:

  • border-box(背景延伸到边框外沿),
  • padding-box(背景延伸到内边距外沿),
  • content-box(背景只在内容区域),
  • text(背景被剪裁成文字的前景色)。

到这里我们可以知道我们需要用的属性值为text。将图片作为文本颜色的代码为:

background-image: url("图片地址")
background-clip: text;
-webkit-background-clip: text;  /*兼容chrome*/
color: transparent; 

注:background-clip有兼容性问题,此需要根据浏览器不同使用不同的代码;text属性值目前是实验性值,不建议再生产环境中使用。

3 作为列表符号背景

示例代码如下:

list-style-image: url("图片地址")

注:list-style-image会覆盖掉list-style-type;我们也尽量不要使用这个属性,因为其尺寸不能改变,不能自适应屏幕大小,可以使用背景替代。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容

  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,578评论 0 6
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,299评论 0 11
  • CSS要点记录 CSS 指层叠样式表 (Cascading Style Sheets) 多种样式时的优先级问题 数...
    Tony__Hu阅读 1,091评论 0 0
  • 第一章 F12: element.style 内联样式(可以直接在上面写代码进行简单调试) user agent...
    fastwe阅读 1,460评论 0 0
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,013评论 0 1