CSS3 新增背景属性 + 新增边框属性(如果想知道CSS3新增背景属性和新增边框属性的知识点,那么只看这一篇就够了!)

简介: CSS3 新增背景属性 + 新增边框属性(如果想知道CSS3新增背景属性和新增边框属性的知识点,那么只看这一篇就够了!)

1.CSS3 新增背景属性

       先让我们来看一下有哪些新增的属性:

接下来我们一一进行讲解:

       (1)background-origin

background-origin属性作用:用于设置背景图的原点。

常见属性值:

       1. padding-box :从padding 区域开始显示背景图像。—— 默认值

       2. border-box : 从border 区域开始显示背景图像。

       3. content-box : 从content 区域开始显示背景图像。

我们从常见属性值中我们就可以发现,padding-box是background-origin的默认值,也就是说背景图片是从padding区域开始显示背景图像的(例如):

html代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./test.css">
</head>
 
<body>
    <div class="outer"> </div>
</body>
 
</html>

CSS代码:

.outer {
    width: 300px;
    height: 300px;
    border: 30px dashed grey;
    padding: 30px;
    background-image: url(./image/fish.jpg);
    /* 用于设置背景大小的,下文会进行讲解,这里只看效果即可 */
    background-size: cover;
}

其中蓝色阴影区为内容区,我们会发现背景的默认起始位置为盒子的padding区,这也应证了padding-box是background-origin的默认值。

接下来我们分别将background-origin的值改为border-box和content-box看一下效果:

       border-box:

CSS代码:

.outer {
    width: 300px;
    height: 300px;
    border: 30px dashed grey;
    padding: 30px;
    background-image: url(./image/fish.jpg);
    background-origin: border-box;
    /* 用于设置背景大小的,下文会进行讲解,这里只看效果即可 */
    background-size: cover;
}

       content-box:

CSS代码:

.outer {
    width: 300px;
    height: 300px;
    border: 30px dashed grey;
    padding: 30px;
    background-image: url(./image/fish.jpg);
    background-origin: content-box;
    /* 用于设置背景大小的,下文会进行讲解,这里只看效果即可 */
    background-size: cover;
}

我们会看到其不一样的效果,这样我们就大致的了解了background-origin属性。

       

       (2)background-clip

background-clip属性的作用:用于设置背景图的向外裁剪的区域。

常见属性值:

       1. border-box : 从border 区域开始向外裁剪背景。 —— 默认值

       2. padding-box : 从padding 区域开始向外裁剪背景。

       3. content-box : 从content 区域开始向外裁剪背景。

细心的读者在上文的例子中就可以发现,设置了背景后,如果背景图片过大,其背景是从border区域开始向外裁剪背景的(例如):

html代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./test.css">
</head>
 
<body>
    <div class="outer"> </div>
</body>
 
</html>

CSS代码:

.outer {
    width: 300px;
    height: 300px;
    border: 30px dashed grey;
    padding: 30px;
    background-image: url(./image/fish.jpg);
}

和background-origin属性类似,我们可以设置其背景的裁剪边缘,是从border区域开始向外裁剪背景,还是从padding区域开始向外裁剪背景,还是从content区域开始向外裁剪背景。这里直接展示一下效果:

       padding-box:

       

       content-box:

这样我们就大致的了解了background-clip属性了。

       

       (3)background-size

background-size属性的作用:用于设置背景图的尺寸。(以下是其设置背景图的尺寸的四种方式):

       方式一:用长度值指定背景图片大小,不允许负值。

background-size: 300px 200px;

       方式二:用百分比指定背景图片大小,不允许负值。

background-size: 100% 100%;

       方式三:contain : 将背景图片等比缩放,使背景图片的宽或高,与容器的宽或高相等,再将完整背景图片包含在容器内。

background-size: contain;

如图:(设置为contain):

注意:这种方式设置背景图片大小可能会造成容器里部分区域没有背景图片。

        方式四:cover :将背景图片等比缩放,直到完全覆盖容器,图片会尽可能全的显示在元素上。

background-size: cover;

如图:(设置为cover):

注意:这种方式设置背景图片大小可能会造成容器里部分区域没有背景图片。

这样我们就大致的了解了background-size属性了。

       (4)backgorund 复合属性

和其他的复合属性一样,backgorund 复合属性就是将有关背景的一些属性放到一个属性里面来写。但是我们要注意其里面的复合属性的前后顺序。

前后顺序:

background: color url repeat position / size origin clip

注意:

       1. origin 和 clip 的值如果一样,如果只写一个值,则origin 和 clip 都设置;如果设置了两个值,前面的是origin ,后面的clip 。

       2. size 的值必须写在 position 值的后面,并且用 / 分开。

这样我们就大致的了解了backgorund 复合属性了。

       补充:多背景图

       我们要知道,在CSS3中允许元素设置多个背景图片,那么我们如何给一个元素设置多个背景图片呢?

我们直接使用案例来进行演示:

现在我们将刚才的背景图片改为多背景图:

div {
    width: 300px;
    height: 300px;
    padding: 10px;
    border: 10px dashed grey;
    background: url(./image/bg-lt.png) no-repeat,
        url(./image/bg-rt.png) no-repeat right top,
        url(./image/bg-lb.png) no-repeat left bottom,
        url(./image/bg-rb.png) no-repeat right bottom;
}

我们就会发现其背景图片是由四个图片组成的。

2.CSS3新增边框属性

对于CSS3新增边框属性来说,总共我们需要知道两个,分别是:边框圆角 和 边框外轮廓。

       (1)边框圆角

先让我们看一下边框圆角:

在 CSS3 中,使用border-radius属性可以将盒子变为圆角。例如:

同时设置四个角的圆角:

border-radius:30px;

html代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./test.css">
</head>
 
<body>
    <div></div>
</body>
 
</html>

CSS代码:

div {
    width: 300px;
    height: 300px;
    border-radius: 30px;
    background-color: aquamarine;
}

当然我们还可以分开设置每个角的圆角:

属性名 作用
border-top-left-radius 设置左上角圆角半径:
1. 一个值是正圆半径,
2. 两个值分别是椭圆的x 半径、y 半径。
border-top-right-radius 设置右上角圆角半径:
1. 一个值是正圆半径,
2. 两个值分别是椭圆的x 半径、y 半径。
border-bottom-right-radius 设置右下角圆角半径:
1. 一个值是正圆半径,
2. 两个值分别是椭圆的x 半径、y 半径。
border-bottom-left-radius 设置左下角圆角半径:
1. 一个值是正圆半径,
2. 两个值分别是椭圆的x 半径、y 半径。

这里我们以border-top-left-radius为例子:

html代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.5.18.css">
</head>
 
<body>
    <div></div>
</body>
 
</html>

CSS代码:

div {
    width: 200px;
    height: 200px;
    background-color: aquamarine;
    /* 长轴长为30px,短轴长为10px */
    border-top-left-radius: 30px 10px;
}

当然,边框圆角还有复合属性:(但是基本不会使用!)

border-raidus: 左上角x 右上角x 右下角x 左下角x / 左上y 右上y 右下y 左下y

这样我们就大致了解了CSS3新增边框属性了。

       (2)边框外轮廓

先让我们从效果上看一下什么是边框外轮廓(如图):

其实边框外轮廓和border很相似,但是其是在margin区外的一层边框。

那了解了什么是边框外轮廓之后,让我们看一下其有哪些属性:

1. outline-width :外轮廓的宽度。
2. outline-color :外轮廓的颜色。
3. outline-style :外轮廓的风格。其属性值有以下几个:
       (1)none : 无轮廓
       (2)dotted : 点状轮廓
       (3)dashed : 虚线轮廓
       (4)solid : 实线轮廓
       (5)double : 双线轮廓

4. outline-offset 设置外轮廓与边框的距离,正负值都可以设置。

当然,边框外轮廓也有复合属性,例如:

outline:50px solid blue;

       我们会发现其属性值和border几乎一模一样,是的,没错,设置边框外轮廓就和设置border类似,只不过需要注意其位置就可以了。

这里我们只讲解一下outline-offset :

       outline-offset 是用来设置外轮廓与边框的距离,正负值都可以设置。

我们直接使用代码来看一下:

html代码:

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="./2024.5.18.css">
</head>
 
<body>
    <div></div>
</body>
 
</html>

CSS代码:

div {
    width: 200px;
    height: 200px;
    background-color: aquamarine;
    outline: 5px dashed green;
}

但是我们给CSS代码添加 outline-offset 属性之后:

div {
    width: 200px;
    height: 200px;
    background-color: aquamarine;
    outline: 5px dashed green;
    outline-offset: 9px;
}

这样我们就大致的了解了边框外轮廓属性了。

相关文章
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
402 1
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
396 1
|
8月前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
258 1
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
519 3
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
685 0
|
12月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
889 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
791 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    519
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    402
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    396
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    258
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    513
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    685
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1224
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    275
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1021
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    474