CSS—行高、背景属性、三大特性

2023-12-31 15:30

本文主要是介绍CSS—行高、背景属性、三大特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【前言】

今天来总结CSS的3个知识点:行高、背景相关的属性、三大特性:层叠性、继承性和优先级。

【内容】

1.行高

(1)行高如何测量?

上一行的基线到下一行的基线。

(2)单行文本垂直居中

让单行文本在盒子中垂直居中对齐。

(3)如何实现单行文本垂直居中?

让文字的行高等于盒子的高度。

(4)行高 = 上距离 + 内容高度 + 下距离

(5)行高与高度的三种关系:

行高等于高度 文字会垂直居中

行高大于高度 文字会偏下

行高小于高度 文字会偏上

2.css背景

(1)背景颜色(color)

语法如下:

Background-color:颜色值;

默认的值是transparent 透明的

(2)背景图片(image)

语法如下:

Background-image: url(images/l.jpg);

参数:

参数

作用

none

无背景图(默认的)

url

使用绝对或相对地址指定背景图像

(3)背景平铺

语法如下:

background-repeat : repeat | no-repeat repeat-x repeat-y;

参数:

参数

作用

repeat

背景图像在纵向和横向上平铺

no-repeat

背景图像不平铺

repeat-x

背景图像在横向上平铺

repeat-y

背景图像在纵向平铺

(4)背景位置(position)

语法如下:

background-position : length || length

background-position : position || position

例如:background-position : right top; 分别为x坐标、y坐标

参数:

参数

length

百分数|由浮点数字和单位表示符组成的长度值

position

top | center | bottom | left | center | right 方位名词

说明:

1)必须先指定background属性。

2)position后面是x坐标和y坐标,可以使用方位名词或者精确单位。

3)如果只指定了一个方位名词,另一个值默认居中,为50%。

4)如果只指定一个数值,那该数值用于x坐标,另一个默认是y坐标,默认居中。

5)如果指定两个值,两个值都是方位名字,则两个值前后顺序无关,比如left、top和top、left效果一样。

6)如果指定两个值,精确单位和方位名字混合使用,则第一个值是x坐标,第二个值是y坐标。

(5)背景附着

解释背景是滚动的还是固定的。

语法如下:

background-attachment : scroll | fixed;

参数:

参数

作用

scroll

背景图像是随对象内容滚动

fixed

背景图像固定

(6)背景简写

和font的属性类似,多个属性值可以简写为一条,语法如下:

background: transparent url(image.jpg) repeat-y scroll center top;

background: 属性的值的书写顺序并没有强制的标准,但我们同样都按这样的顺序:

background: 背景颜色 背景图片地址 背景平铺 背景滚动 背景位置;

(7)背景透明

语法如下:

Background: rgba(0,0,0,0.3);

说明:

最后一个参数是alpha(透明度),取值范围0~1之间。

背景半透明是指盒子背景半透明,盒子里面的内容不受影响。

(8)背景小结

属性

作用

background-color

背景颜色

预定义的颜色值/十六进制/RGB代码

background-image

背景图片

url(图片路径)

background-repeat

是否平铺

repeat/no-repeat/repeat-x/repeat-y

background-position

背景位置

length/position 分别是x和y坐标,切记如果有精确数值单位,则必须按照先X后Y的写法

background-attachment

背景固定还是滚动

scroll/fixed

背景简写

更简单

背景颜色 背景图片地址 背景平铺 背景滚动 背景位置,可以没有顺序

背景透明

让盒子半透明

Background: right(0,0,0,0.3); 后边必须是4个值

3.CSS三大特性

CSS层叠性、CSS继承性、CSS优先级

(1)CSS层叠性

层叠性是指多种CSS样式的叠加。

是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉。

原则:

样式冲突,遵循的原则就是就近原则,哪个样式离着结构近,就执行哪个样式。

样式不冲突,不会层叠。

CSS层叠性最后的执行口诀:

长江后浪推前浪,前浪死在沙滩上。

(2)CSS继承性

子标签会继承父标签的某些样式,如文本颜色和字号。

想要设置一个可继承的属性,只需将它应用于父元素即可。即子承父业。

说明:

恰当地使用继承可以简化代码,降低CSS样式的复杂性。比如有很多子级孩子都需要某个样式,这时可以给父级指定一个,这些孩子继承过来就可以了。

子元素可以继承父元素的样式(text-、font-、line-这些元素开头的可以继承,以及color属性)。

CSS继承口诀:

龙生龙,凤生凤,老鼠生的孩子会打洞。

(3)CSS优先级

定义CSS样式时,经常出现两个或更多规则应用在同一元素上,此时,

1)选择器相同,则执行层叠性。

2)选择器不同,就会出现优先级的问题。

(1)不同的选择器,都有自己的一个权重计算公式:这个就是CSS Specificity(特殊性)

说明:

Specificity用一个四位的数,更像四个级别。

值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。

关于CSS权重,我们需要一套计算公式计算,就是CSS Specificity(特殊性)。

(2)权重叠加

我们经常用交集选择器,后代选择器等,是由多个基础选择器组合而成,那么此时,就会出现权重叠加,就是一个简单的加法计算。

说明:

1)数位之间没有进制,比如说:0,0,0,5 + 0,0,0,5 = 0,0,0,10而不是0,0,1,0,所以不会存在10个div能赶上一个类选择器的情况。

2)继承的权重是0。我们修改样式时,一定要看该标签有没有被选中:

如果选中了,那么以上面的公式来计权重,谁大听谁的;如果权重相同,则会根据层叠性,就近原则。

如果没有选中,那么权重为0,因此继承的权重为0。

3)2个特殊标签:链接和h标题,他们浏览器有自己默认的样式,继承的权重为0,所以体验还是要单独给链接和标题一个样式。

这篇关于CSS—行高、背景属性、三大特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556434

相关文章

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Python如何调用另一个类的方法和属性

《Python如何调用另一个类的方法和属性》在Python面向对象编程中,类与类之间的交互是非常常见的场景,本文将详细介绍在Python中一个类如何调用另一个类的方法和属性,大家可以根据需要进行选择... 目录一、前言二、基本调用方式通过实例化调用通过类继承调用三、高级调用方式通过组合方式调用通过类方法/静

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.