【CSS3系列】第二章 · CSS3 新增盒模型和背景属性

news2024/11/18 1:24:06

写在前面


        Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误不足之处,请多多指正!谢谢大家!!!

        如果小哥哥小姐姐们对我的文章感兴趣,请不要吝啬你们的小手,多多点赞加关注呀!❤❤❤ 爱你们!!!


目录

写在前面

1. 新增盒模型相关属性

1.1 box-sizing 怪异盒模型

1.2 resize 调整盒子大小

1.3 box-shadow 盒子阴影

1.4 opacity 不透明度

 2. CSS3 新增背景属性

2.1 background-origin

2.2 background-clip

2.3 background-size

2.4 backgorund 复合属性

2.5 多背景图

结语


【往期回顾】

【CSS3系列】第一章 · CSS3新增的三种基本属性


【其他系列】

【HTML5系列】

【HTML4系列】

【CSS2系列】

【Java基础系列】


1. 新增盒模型相关属性


1.1 box-sizing 怪异盒模型

  • 使用 box-sizing 属性可以设置盒模型的两种类型

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>01_box-sizing</title>
    <style>
        .box1 {
            width: 200px;
            height: 200px;
            background-color: deepskyblue;
            padding: 5px;
            border: 5px solid black;
            margin-bottom: 20px;
        }
        .box2 {
            width: 200px;
            height: 200px;
            background-color: gray;
            padding: 5px;
            border: 5px solid black;
            box-sizing: border-box;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

1.2 resize 调整盒子大小

  • 使用 resize 属性可以控制是否允许用户调节元素尺寸。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>02_resize</title>
    <style>
        .box1 {
            width: 400px;
            height: 400px;
            background-color: orange;
            resize: both;
            overflow: hidden;
        }
        .box2 {
            width: 800px;
            height: 600px;
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2">123</div>
    </div>
</body>
</html>

1.3 box-shadow 盒子阴影

  • 使用 box-shadow 属性为盒子添加阴影。

语法:

box-shadow: h-shadow v-shadow blur spread color inset;

各个值的含义:

  • 默认值: box-shadow:none 表示没有阴影

示例:

/* 写两个值,含义:水平位置、垂直位置 */
box-shadow: 10px 10px;
/* 写三个值,含义:水平位置、垂直位置、颜色 */
box-shadow: 10px 10px red;
/* 写三个值,含义:水平位置、垂直位置、模糊值 */
box-shadow: 10px 10px 10px;
/* 写四个值,含义:水平位置、垂直位置、模糊值、颜色 */
box-shadow: 10px 10px 10px red;
/* 写五个值,含义:水平位置、垂直位置、模糊值、外延值、颜色 */
box-shadow: 10px 10px 10px 10px blue;
/* 写六个值,含义:水平位置、垂直位置、模糊值、外延值、颜色、内阴影 */
box-shadow: 10px 10px 20px 3px blue inset;
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>03_box-shadow</title>
    <style>
        .box1 {
            width: 400px;
            height: 400px;
            background-color: orange;
            margin: 0 auto;
            margin-top: 100px;
            font-size: 40px;

            /* 写两个值,含义:水平位置 垂直位置 */
            /* box-shadow: 10px 10px; */

            /* 写三个值,含义:水平位置 垂直位置 阴影的颜色 */
            /* box-shadow: 10px 10px blue; */

            /* 写三个值,含义:水平位置 垂直位置 模糊程度 */
            /* box-shadow: 10px 10px 20px; */

            /* 写四个值,含义:水平位置 垂直位置 模糊程度 阴影颜色 */
            /* box-shadow: 10px 10px 20px blue; */

            /* 写五个值,含义:水平位置 垂直位置 模糊程度 外延值 阴影颜色 */
            /* box-shadow: -10px -10px 20px 10px blue; */

            /* 写六个值,含义:水平位置 垂直位置 模糊程度 外延值 阴影颜色 内阴影 */
            /* box-shadow: 10px 10px 20px 10px blue inset; */

            position: relative;
            top: 0;
            left: 0;
            transition: 0.4s linear all ;
        }
        .box1:hover {
            box-shadow: 0px 0px 20px 10px black;
            top: -1px;
            left: 0;
        }
    </style>
</head>
<body>
    <div class="box1">你好啊</div>
</body>
</html>

1.4 opacity 不透明度

  • opacity 属性能为整个元素添加透明效果, 值是 0 1 之间的小数, 0 是完全透明, 1 表示完全不透明。
  • opacity rgba 的区别?
    • opacity 是一个属性,设置的是整个元素(包括元素里的内容)的不透明度。
    • rgba 是颜色的设置方式,用于设置颜色,它的透明度,仅仅是调整颜色的透明度。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>04_opacity</title>
    <style>
        .box1 {
            width: 200px;
            height: 200px;
            background-color: orange;
            font-size: 40px;
            opacity: 0.1;
            font-weight: bold;
        }
        .box2 {
            position: relative;
        }
        h1 {
            position: absolute;
            top: 100px;
            left: 0;
            background-color: black;
            color: white;
            width: 400px;
            line-height: 100px;
            text-align: center;
            font-size: 40px;
            opacity: 0.5;
        }
    </style>
</head>
<body>
    <div class="box1">你好啊</div>
    <div class="box2">
        <img src="../images/你瞅啥.jpg" alt="">
        <h1>你瞅啥</h1>
    </div>
</body>
</html>

 2. CSS3 新增背景属性


2.1 background-origin

作用:设置背景图的原点。

语法

  • padding-box :从 padding 区域开始显示背景图像。—— 默认值
  • border-box :从 border 区域开始显示背景图像。
  • content-box :从 content 区域开始显示背景图像。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>01_background-origin</title>
    <style>
        .box1 {
            width: 400px;
            height: 400px;
            background-color: skyblue;
            margin: 0 auto;
            font-size: 40px;
            padding: 50px;
            border: 50px dashed rgba(255, 0, 0, 0.7);

            background-image: url('../images/bg01.jpg');
            background-repeat: no-repeat;
            background-origin: border-box;
        }
    </style>
</head>
<body>
    <div class="box1">你好啊</div>
</body>
</html>

2.2 background-clip

作用:设置背景图的向外裁剪的区域。

语法

  • border-box :从 border 区域开始向外裁剪背景。 —— 默认值
  • padding-box :从 padding 区域开始向外裁剪背景。
  • content-box :从 content 区域开始向外裁剪背景。
  • text :背景图只呈现在文字上。
  • 注意:若值为 text ,那么 backgroun-clip 要加上 -webkit- 前缀。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>02_background-clip</title>
    <style>
        .box1 {
            width: 400px;
            height: 400px;
            background-color: skyblue;
            margin: 0 auto;
            font-size: 120px;
            font-weight: bold;
            padding: 50px;
            border: 50px dashed rgba(255, 0, 0, 0.7);
            color: transparent;

            background-image: url('../images/bg02.jpg');
            background-repeat: no-repeat;
            background-origin: border-box;
            -webkit-background-clip: text;
        }
    </style>
</head>
<body>
    <div class="box1">你好啊</div>
</body>
</html>

2.3 background-size

作用:设置背景图的尺寸。

语法:

  • 用长度值指定背景图片大小,不允许负值。
background-size: 300px 200px;
  • 用百分比指定背景图片大小,不允许负值。
background-size: 100% 100%;
  • auto :背景图片的真实大小。 —— 默认值
  • contain : 将背景图片等比缩放,使背景图片的宽或高,与容器的宽或高相等,再将完整背景图片包含在容器内,但要注意:可能会造成容器里部分区域没有背景图片。
background-size: contain;
  • cover :将背景图片等比缩放,直到完全覆盖容器,图片会尽可能全的显示在元素上,但要注意:背景图片有可能显示不完整。—— 相对比较好的选择
background-size: cover;
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>03_background-size</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            padding: 50px;
            border: 50px dashed rgba(255, 0, 0, 0.7);
            background-image: url('../images/bg03.jpg');
            background-repeat: no-repeat;

            /* background-size: 400px 400px; */
            /* background-size: 100% 100%; */
            /* background-size: contain; */
            background-size: cover;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

2.4 backgorund 复合属性

语法:

background: color url repeat position / size origin clip

注意:

  • origin clip 的值如果一样,如果只写一个值,则 origin clip 都设置;如果设置了两个值,前面的是 origin ,后面的 clip
  • size 的值必须写在 position 值的后面,并且用 / 分开。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>04_background复合属性</title>
    <style>
        .box1 {
            width: 400px;
            height: 400px;
            margin: 0 auto;
            font-size: 40px;
            padding: 50px;
            border: 50px dashed rgba(255, 0, 0, 0.7);

            /* background: 背景颜色 背景url 是否重复 位置 / 大小 原点 裁剪方式; */
            background:skyblue url('../images/bg03.jpg') no-repeat 10px 10px / 500px 500px border-box content-box;
        }
    </style>
</head>
<body>
    <div class="box1">你好啊</div>
</body>
</html>

2.5 多背景图

  • CSS3 允许元素设置多个背景图片
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>05_多背景图</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            border: 1px solid black;
            background: url('../images/bg-lt.png') no-repeat left top,
                        url('../images/bg-rt.png') no-repeat right top,
                        url('../images/bg-lb.png') no-repeat left bottom,
                        url('../images/bg-rb.png') no-repeat right bottom;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

结语


本人会持续更新文章的哦!希望大家一键三连,你们的鼓励就是作者不断更新的动力

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据:数据表操作,分区表,分桶表,修改表,array,map, struct

大数据&#xff1a;数据表操作&#xff0c;分区表 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&a…

【能量算子】评估 EEG 中的瞬时能量:非负、频率加权能量算子(PythonMatlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

五种方法提升Midjourney的出图品质

本文基于B站UP主琥珀川Eric的《五种方法提升Midjourney出图品质》制作在此感谢大神的分享。 本文全面介绍以上五种提升Midjourney出图品质的方法&#xff0c;简单实用&#xff0c;马上就可以用上。Lets go&#xff01;&#xff01;&#xff01; 方法一 使用相机参数创建逼真的图…

windows系统编译的Qt程序转到国产化麒麟linux中编译

团队自研股票软件&#xff0c;关威信共总号&#xff1a;QStockView&#xff0c;下载 1.1 windows系统编译的Qt程序转到国产化麒麟linux中编译 &#xff08;1&#xff09;把Vs工程项目文件导入到Linux中 首先把vs的工程拷贝到linux里面&#xff08;可以用虚拟机的共享文件夹…

适配器模式的学习与使用

1、适配器模式的学习 当我们需要将一个类的接口转换成另一个客户端所期望的接口时&#xff0c;适配器模式&#xff08;Adapter Pattern&#xff09;可以派上用场。它允许不兼容的接口之间能够协同工作。   适配器模式属于结构型设计模式&#xff0c;它包含以下几个角色&#…

2、数据库:SQL Server部署 - 系统部署系列文章

对于微软的SQL Server的安装&#xff0c;以前已经有写过了&#xff0c;到了2022版本&#xff0c;安装没多大的改变&#xff0c;很多只需要少配置&#xff0c;然后直接下一步即可。现在是2023年了&#xff0c;SQL Server已经出到了2022版本&#xff0c;这篇博文就再次对SQL Serv…

chatgpt赋能python:Python列表按长度排序的方法

Python列表按长度排序的方法 在Python编程中&#xff0c;列表是最常用的数据结构之一。列表是一种可变的有序序列&#xff0c;可以包含任意类型的对象。有时候&#xff0c;我们需要对列表按照元素的长度进行排序。本文将介绍Python中列表按长度排序的两种方法。 方法一&#…

pytorch实战 -- 神经网络

softmax的基本概念 交叉熵损失函数 模型训练和预测 在训练好softmax回归模型后&#xff0c;给定任一样本特征&#xff0c;就可以预测每个输出类别的概率。通常&#xff0c;我们把预测概率最大的类别作为输出类别。如果它与真实类别&#xff08;标签&#xff09;一致&#xff0…

chatgpt赋能python:Python列表排序详解:从基础排序到高级算法

Python 列表排序详解&#xff1a;从基础排序到高级算法 在 Python 编程中&#xff0c;列表是常用的数据类型。列表的排序是其中重要的操作之一。Python 提供了多种方法来对列表进行排序&#xff0c;从简单的基础排序到高级的算法排序。在这篇文章中&#xff0c;我们将详细介绍…

找到 FSM 的区别序列、UIO 或特征集(W方法)

找到 FSM 的区别序列、UIO 或特征集(W方法) 1 简介 许多系统都是基于状态的&#xff1a;它们有一个更新的内部状态通过操作并影响行为。 在测试这样一个系统时&#xff0c;一个需要考虑状态。 这导致了一系列的语言&#xff0c;用于描述基于状态的规范和模型&#xff0c;这些可…

并发编程-系统学习篇

并发编程的掌握过程并不容易。 我相信为了解决这个问题&#xff0c;你也听别人总结过&#xff1a;并发编程的第 一原则&#xff0c; 那就是不要写并发程序 这个原则在我刚毕业的那几年曾经是行得通的&#xff0c;那个时候多核服务器还是一种奢侈品&#xff0c;系统的并发量也很…

沙盒不再高端,Windows11将自带沙盒让程序检测更方便

Windows 沙盒提供了轻型桌面环境&#xff0c;可以安全地在隔离状态下运行应用程序。 安装在 Windows 沙盒环境下的软件保持“沙盒”状态&#xff0c;并且与主机分开运行。 沙盒是临时的。 当关闭沙盒后&#xff0c;系统将删除所有软件和文件以及状态。 每次使用时&#xff0c;…

AWK常用用法

awk简介 awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言&#xff1a; AWK 程序设计语言 &#xff0c; 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序&#xff0c;…

解决一个典型的商业案例研究任务

介绍 印尼的一家公司 Gojek 通过移动应用程序提供运输和物流、食品和购物、支付、日常需求、商业、新闻和娱乐等服务&#xff0c;对经济做出了超过70亿美元的贡献。 它拥有 90 万注册商户、超过 1.9 亿次应用下载以及超过 200 万名司机能够在120分钟内完成超过18万个订单。我们…

chatgpt赋能python:Python创建界面的重要性及实现方法

Python创建界面的重要性及实现方法 作为一名有10年Python编程经验的工程师&#xff0c;我深知Python在Web开发、数据分析和人工智能等方面的强大表现。然而&#xff0c;Python对于前端的支持一直是一个不被关注的领域。 随着网站、移动应用和电脑软件的普及&#xff0c;用户对…

Find My产品|Targus推出最新支持苹果Find My双肩包

Targus宣布推出 Cypress Hero Backpack 双肩包&#xff0c;最大的亮点在于支持苹果“Find My”&#xff0c;在丢失后可定位追踪。 Targus这款双肩包采用了环保材料&#xff0c;可以妥善地保护笔记本电脑&#xff0c;并提供丰富的收纳袋存放各种配件和物品。这款双肩包内置带衬…

Unity Addressables学习笔记(3)---加载远程场景Scenes

前言 Unity Addressables学习笔记—汇总 正文 1.创建一个新场景 我是创建在Resources/Scenes目录下&#xff0c;如图&#xff1a; 2.为场景创建一个Addressables的Group Game1Group就是我新创建的一个Group用来存放场景1的所有资源&#xff0c;分组的配置跟Remote一样&a…

vue 读取本地文件

1. vue读取本地文件 2.在文件夹下添加一个类 3.读取本地文件&#xff0c;先读取文件的内容 4.在 body下添加一个属性 5.读取后&#xff0c;写到 setTimeout方法中&#xff0c;返回一个错误信息。 6. restart方法&#xff0c;在组件渲染时调用 7. return setTimeout &#xff08…

使用Redis的zset集合实现小程序的滚动分页

一、 Redis中&#xff0c;使用有序集合&#xff08;sorted set&#xff09;实现滚动分页的原理如下&#xff1a; 将每个文档的 score 值设置为时间戳&#xff08;或根据其他规则计算的分数&#xff09;&#xff0c;将文档的 ID 作为 value&#xff0c;然后将其添加到有序集合中…

delphi 开发虚拟摄像头

用directshow创建一个虚拟摄像头 然后注册到系统&#xff0c; 在用一个main app 调用摄像头&#xff0c;往里面写流&#xff0c; 可以是屏幕录制&#xff0c;可以是播放的多媒体文件 然后具体是要实现录屏&#xff0c;或者播放多媒体文件&#xff0c;在虚拟摄像头插件中fil…