前端开发学习笔记4 (CSS三大特性、CSS盒子模型、CSS圆角边框、CSS盒子阴影、CSS文字阴影)

文章目录

    • CSS三大特性
      • 层叠性
      • 继承性
      • 优先级
    • CSS盒子模型
      • 网页布局的核心和过程
      • 盒子模型的组成
      • 盒子模型的边框
      • 盒子模型的内边距
      • 盒子模型的外边距
    • CSS圆角边框
    • CSS盒子阴影
    • CSS文字阴影

CSS三大特性

层叠性

  • 基本概念:给相同的选择器设置了相同的样式,则此时一个样式就会覆盖(层叠)另一个冲突的样式。此时,层叠性就是为了解决样式冲突的问题。
  • 层叠性原则:样式属性冲突的情况下,CSS遵循就近原则,即哪个样式离结构近,就执行哪个样式中的属性值;对于没有发生冲突的样式属性,则不会发生重叠。

继承性

  • 基本概念:子标签会继承父标签的某些样式(并非全部样式),如文本的颜色和字体大小等。
  • 使用优点:恰当地使用继承可以简化CSS代码,降低样式的复杂性。
  • 根据文字大小自动调整行高:如果设置某个标签元素的font属性的字体/行高属性值类似于12px/1.5,表示父元素的文本的行高为字体大小的1.5倍;此时,该标签的子标签中的元素可以设置不同的字体,但是可以继承父元素的行高,即各自的文本行高都是各自的字体大小的1.5倍。这是实际开发过程中常用的一种方法。

优先级

  • 基本概念:为同一个标签的某个属性设置了多个样式,则优先执行哪一个样式。
  • 基本原则
    • 选择器相同:如果设置不同样式的选择器都相同(例如都是类选择器),则变为层叠性的情况。
    • 选择器不同:根据选择器的权重进行执行,其实就是不同类型选择器的优先级。
      • 优先级顺序:通配符选择器 < 标签选择器 < 类选择器和伪类选择器 < ID选择器 < 行内样式表。
      • !important:在某个选择器的后面添加一个!important(例如 div {color: pink !important; }),则会默认此选择器具有最高的权重(优先级)。
      • 继承后的权重:继承得到的权重为0,子元素都会优先执行为自己定义的样式。
      • 复合选择器的权重:对于复合选择器,其权重是构成该复合选择器的多个选择器的权重之和。
      • 记忆方法:作用域越小,权重(优先级)越大。

CSS盒子模型

网页布局的核心和过程

  • 网页布局的三大核心:盒子模型、浮动和定位。
  • 网页布局过程
    • 先准备好相关的网页元素,这些元素基本上都是盒子元素;
    • 接下来,利用CSS设置好盒子的样式,然后摆到相应的位置;
    • 最后,向盒子里面添加内容。

盒子模型的组成

  • 基本概念:盒子模型就是把HTML界面中的布局元素视为一个矩形的盒子,也就是一个用来装内容的容器。
  • 盒子模型的组成:包括边框、外边距、内边距和实际内容四个部分。
    • 边框:盒子的区域边缘构成一个边框;
    • 实际内容:盒子中的所有东西都属于盒子模型的内容;
    • 内边距:盒子中的内容离盒子边框的距离;
    • 外边距:盒子与其他盒子之间的距离。

盒子模型的边框

  • 边框的三部分组成:边框宽度、边框样式、边框颜色。
  • 设置语法:分别用border-widthborder-styleborder-color属性设置边框的宽度、样式和颜色。
    • border-width:一般将属性值设置为...px,即多少个像素宽;
    • border-style:常用的属性值包括solid(实线)、dashed(虚线)、dotted(点线)、none(无边框)等。
    • border-color:常用的属性值即各种各样的颜色字符串。
  • 边框属性简写语法:使用border:边框宽度属性值、边框样式属性值、边框颜色属性值即可通过一个属性同时设置边框的三个特征,并且这几个特征之间没有先后顺序。
  • 单独修改盒子的某一条边框:基于边框属性的简写,将其中的border属性修改为border-topborder-bottomborder-leftborder-right即可单独修改盒子的某一条边框。
  • border-collapse属性:如果将该样式的属性值设置为collapse,则会自动合并相邻的盒子的边框。
  • 注意事项:边框的粗细会修改盒子模型的实际大小。

盒子模型的内边距

  • 设置语法:使用padding属性设置盒子模型的内边距,即边框与内容之间的距离,属性值也是以像素px为单位的。
  • 设置某一边的边距:分别使用padding-toppadding-bottompadding-leftpadding-right四个属性即可完成设置。
  • 使用padding属性设置内边距
    • 只接一个属性值:表示与四条边的内边距都等于该属性值。
    • 接两个属性值:前面的值表示与盒子模型的上下内边距,后面的值表示与盒子模型的左右内边距。
    • 接三个属性值:第一个值表示与上边的内边距,第二个值表示与盒子模型左右的内边距,第三个值表示与盒子模型下边的内边距。
    • 接四个属性值:分别按照顺时针表示上、右、下、左四条边的内边距。
  • 注意事项: 修改内边距也会修改盒子模型的大小。这一个特点有时候不太好,但是有时候是可以利用的。另外,如果没有给盒子模型设置宽度属性weight,则使用padding设置内边距不会撑大盒子模型。

盒子模型的外边距

  • 基本作用:设置盒子模型之间的距离。
  • 使用语法:分别设置属性margin-leftmargin-rightmargin-topmargin-bottom即可设置盒子模型四条边的外边距。
  • 简单写法:可以采用与padding类似的方式对盒子模型的外边距进行设置。
  • 通过外边距设置盒子水平居中:将盒子模型的样式margin属性的属性值设置为auto即可。如果想要将行内元素或行内块元素设置水平居中,只需要给它们的父元素设置text-align:center样式即可。
  • 塌陷问题:对于两个嵌套关系(父子关系)的块元素,父元素有上外边距的同时子元素也有上外边距,则此时父元素会塌陷较大的外边距值。此时,可以给父元素设置一种样式:overflow: hidden来避免这种情况。
  • 清除内外边距:对于一些自带内外边距的网页元素标签,且一个一个设置去除内外边距的样式很麻烦,则此时可以使用通配符选择器,创建一个paddingmargin属性值都为零的样式来清除所有标签的内外边距。
  • 注意事项:对于行内标签元素,尽量只设置左右外边距而不要设置上下外边距,这是出于兼容性的考虑。如果一定要设置,应该优先考虑将行内标签元素转换为块标签元素或行内块标签元素。

CSS圆角边框

  • 注意事项:该特性是CSS3才能使用的特性,如果浏览器的版本较低可能不能兼容。
  • 使用语法:对需要采用圆角边框的HTML标签元素,只需要设置其border-radius属性的值即可。该属性的属性值也是以像素px为单位,是指当一个指定半径的圆与矩形边框的一个角的两条边相切的时候所产生的弧度。
  • 另外一种属性值:可以用百分数作为该属性的属性值,该百分数表示圆的半径和长方形长的比。
  • 只设置某个角为圆角:可以分别使用border-top-leftborder-top-rightborder-bottom-leftborder-bottom-right属性设置该边框的某一个角为圆角。

CSS盒子阴影

  • 基本作用:设置盒子模型的背后阴影;
  • 使用语法:通过样式中的box-shadow属性即可为盒子模型添加阴影。其属性值如下:
    • h-shadow:必须参数。指定水平阴影相对于盒子向右平移的位置(允许负值);
    • v-shadow:必须参数。指定垂直阴影相对于盒子向下平移的位置(允许负值);
    • blur:可选参数。指定模糊距离;
    • spread:可选参数。指定阴影的尺寸;
    • color:可选参数。指定阴影的颜色;
    • inset:可选参数。将外部阴影修改为内部阴影。

CSS文字阴影

  • 基本作用:为指定区域的文字设置阴影效果。
  • 使用语法:使用text-shadow属性进行设置即可。
    • h-shadow:必须参数。指定水平阴影相对于文字向右平移的位置(允许负值);
    • v-shadow:必须参数。指定垂直阴影相对于文字向下平移的位置(允许负值);
    • blur:可选参数。指定模糊距离;
    • color:可选参数。指定阴影的颜色;

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

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

相关文章

【mac操作】brew指令集

brew指令集记录 1. brew search 【软件名称】2. rm -rf $(brew --cache)3. brew install 【软件名】4. brew uninstall 【软件名】5. 未完待续&#xff0c;&#xff0c;&#xff0c;&#xff0c; 官网路径&#xff1a; Homebrew官网 最上面就来一个homebrew安装指令吧&#xf…

三、Jenkins相关操作

Jenkins操作 一、插件管理1.修改公共插件源2.下载中文汉化插件2.1 安装插件2.2 重启2.3 设置为中文 3.远程部署插件 二、用户权限管理1.安装权限插件2.开启权限3.创建角色3.1 Global roles3.2 Item roles 4.创建用户5.给用户分配角色 三、凭证管理四、Git管理1.账号密码方式1.1…

深入浅出 -- 系统架构之Keepalived搭建双机热备

Keepalived重启脚本双机热备搭建 ①首先创建一个对应的目录并下载keepalived安装包&#xff08;提取码:s6aq&#xff09;到Linux中并解压&#xff1a; [rootlocalhost]# mkdir /soft/keepalived && cd /soft/keepalived [rootlocalhost]# wget https://www.keepalived.…

【Flutter】Getx设计模式及Provider、Repository、Controller、View等

本文基于Getx 4,x 本本 1、引入 再次接触到Flutter项目&#xff0c;社区俨然很完善和活跃。pubs.dev 寻找状态管理的时候看到很熟悉的Getx时间&#xff0c;俨然发现Getx的版本已到是4.x版本&#xff0c;看到Getx的功能已经非常强大了&#xff0c;庞大的API俨然成为一种开发框架…

c# wpf LiveCharts 简单试验

1.概要 1.1 说明 1.2 环境准备 NuGet 添加插件安装 2.代码 <Window x:Class"WpfApp3.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"…

基于单片机电子密码锁系统设计

**单片机设计介绍&#xff0c;基于单片机电子密码锁系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机电子密码锁系统设计概要主要包括以下几个方面&#xff1a; 一、系统概述 基于单片机电子密码锁系统是一个…

谈谈Python中的内存管理和垃圾回收机制

谈谈Python中的内存管理和垃圾回收机制 Python中的内存管理和垃圾回收机制是其运行时的关键组成部分&#xff0c;它们共同确保了程序能够高效、安全地执行&#xff0c;并防止内存泄漏等问题。下面&#xff0c;我们将深入探讨Python的内存管理和垃圾回收机制。 一、内存管理 …

c++11的重要特性2

可变参数模板在3中。 目录 ​编辑 1、统一的列表初始化&#xff1a; std::initializer_list&#xff1a; std::initializer_list是什么类型&#xff1a; std::initializer_list使用场景&#xff1a; 让模拟实现的vector也支持{}初始化和赋值 2、声明 auto decltype nul…

深入浅出 -- 系统架构之分布式多形态的存储型集群

一、多形态的存储型集群 在上阶段&#xff0c;我们简单聊了下集群的基本知识&#xff0c;以及快速过了一下逻辑处理型集群的内容&#xff0c;下面重点来看看存储型集群&#xff0c;毕竟这块才是重头戏&#xff0c;集群的形态在其中有着多种多样的变化。 逻辑处理型的应用&…

Leetcode 553. 最优除法

给定一正整数数组 nums&#xff0c;nums 中的相邻整数将进行浮点除法。例如&#xff0c; [2,3,4] -> 2 / 3 / 4 。 例如&#xff0c;nums [2,3,4]&#xff0c;我们将求表达式的值 “2/3/4”。 但是&#xff0c;你可以在任意位置添加任意数目的括号&#xff0c;来改变算数的…

SQL注入---POST注入

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一. POST提交概述 在Webshell文章中介绍过post提交和get提交的区别&#xff0c;这里不再赘述 post提交和get提交的区别&#xff1a; get方式提交URL中的参数信息&#xff0c;post方式则是将信…

opencv-python库 cv2开运算闭运算形态学梯度顶部帽底部帽

文章目录 开运算闭运算形态学梯度顶部帽底部帽cv2.morphologyEx() 开运算 cv2中的开运算是图像依次经过腐蚀、膨胀处理后的过程。 开运算实际是先腐蚀运算&#xff0c;再膨胀运算&#xff0c;可以把细微连在一起的两块目标分开。一般来说&#xff0c;开运算可以使图像的轮廓变…

post请求爬虫入门程序

<!--爬虫仅支持1.8版本的jdk--> <!-- 爬虫需要的依赖--> <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.2</version> </dependency><!-- 爬虫需…

【深入解析算法】内存使用,应用 上

8.3.6 内存使用 符号表的内存使用 方法N个元素所需的内存(引用类型)基于拉链法的散列表48N32M基于线性探测的散列表在32N和128N之间各种二叉查找树56N 自计算机发展的伊始&#xff0c;研究人员就研究了(并且现在仍在继续研究)散列表并找到了很多方法来改进我们所讨论过的几种…

知识融合与消歧:完善知识图谱的关键步骤

知识融合与消歧&#xff1a;完善知识图谱的关键步骤 一、引言&#xff1a;知识融合与消歧的重要性 在今天的数据驱动时代&#xff0c;知识图谱已成为组织和理解海量信息的关键技术。它们使得复杂的数据关系可视化&#xff0c;为人工智能提供了丰富的知识基础。然而&#xff0c…

【RISC-V 指令集】RISC-V 向量V扩展指令集介绍(九)- 向量定点算术指令

1. 引言 以下是《riscv-v-spec-1.0.pdf》文档的关键内容&#xff1a; 这是一份关于向量扩展的详细技术文档&#xff0c;内容覆盖了向量指令集的多个关键方面&#xff0c;如向量寄存器状态映射、向量指令格式、向量加载和存储操作、向量内存对齐约束、向量内存一致性模型、向量…

静态路由协议实验综合实验

需求&#xff1a; 1、除R5的换回地址已固定外&#xff0c;整个其他所有的网段基于192.168.1.0/24进行合理的IP地址划分。 2、R1-R4每台路由器存在两个环回接口&#xff0c;用于模拟连接PC的网段&#xff1b;地址也在192.168.1.0/24这个网络范围内。 3、R1-R4上不能直接编写到…

打造你的专属云开发环境:支持任意 IDE,任意云服务 | 开源日报 No.215

loft-sh/devpod Stars: 6.9k License: MPL-2.0 devpod 是一个开源的、仅限客户端的、不受限制的工具&#xff0c;可以与任何集成开发环境&#xff08;IDE&#xff09;一起使用&#xff0c;并允许您在任何云端、Kubernetes 或本地 Docker 上进行开发。 使用 devcontainer.json…

python文件打包找不到文件路径

引用&#xff1a;【将Python代码打包成exe可执行文件】 https://www.bilibili.com/video/BV1P24y1o7FY/?p4&share_sourcecopy_web&vd_sourced5811f31a0635dfc69a182c7bf1adb8b 在代码中&#xff0c;我们想读取文件a&#xff0c;一般使用如下方法。 import osdir os…

【Ubuntu20.04.6】VMWare Station 17安装Ubuntu20.04.6虚拟机系统

步骤1&#xff1a;下载Ubuntu20.04.6镜像ISO文件 Ubuntu20.04.6镜像ISO文件下载&#xff1a; https://mirrors.ustc.edu.cn/ubuntu-releases/20.04/ 步骤2&#xff1a;下载安装VMWare Station 17 下载和安装教程&#xff1a; https://blog.csdn.net/u012621175/article/deta…