美文网首页
CSS之图片特殊用法

CSS之图片特殊用法

作者: 前端唠唠嗑 | 来源:发表于2019-09-26 14:31 被阅读0次

前沿:说起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;我们也尽量不要使用这个属性,因为其尺寸不能改变,不能自适应屏幕大小,可以使用背景替代。

相关文章

  • CSS之图片特殊用法

    前沿:说起image,大家肯定会想到的两个功能:1. 直接使用 标签插入到html中;2. 作为背景图使用,那么还...

  • 企业网站实战

    css篇:vertical-align: 图片的对齐方式middle; 垂直对齐 定义和用法 ...

  • 前端面试(三)

    一、图片整合 用background-position来实现背景图片的定位技术,又称为css精灵图。 用法: 将一...

  • python学习笔记:xpath+css

    xpath用法 CSS用法

  • 【Animate.css】CSS动画库

    本节目录 Animate.css简介 Animate.css基础用法 Animate.css配合JS的用法和讲解 ...

  • CSS 图片与渐变叠加用法

    在平面修图软件里..经常看到一张图片颜色叠加渲染后.就显得非常有摄影艺术感. 在CSS里, 同样可以做到.. 实例...

  • iOS - UIButton的特殊用法

    在此主要介绍UIButton的一些特殊用法:UIButton的图片与文字排版,UIButton的UIControl...

  • 初学样式表

    图片水平垂直居中html: css: 优点:1.支持跨浏览器,包括IE8-IE10。2.无需其他特殊标记,CSS代...

  • gulp-usemin

    1、作用及基本用法 一个html文件中一般会依赖多个css文件,该插件就是通过一种特殊的注释语法将所个css文件替...

  • CSS图片居中(水平居中和垂直居中)

    css图片水平居中 css图片垂直居中 css图片水平垂直居中

网友评论

      本文标题:CSS之图片特殊用法

      本文链接:https://www.haomeiwen.com/subject/zrjsxctx.html