css基础(二)

news2024/10/7 4:32:22

目录

1. CSS 的复合选择器

1.1 什么是复合选择器

1.2 后代选择器(重要)

1.3 子选择器(重要)

1.4 并集选择器(重要)

1.5 伪类选择器

1.6 链接伪类选择器

1.7 :focus伪类选择器

1.8 复合选择器总结

二、 CSS 的元素显示模式

2.1什么是元素显示模式

2.2 块元素

2.3 行内块元素

2.4 元素显示模式总结

2.5 元素显示模式转换

2.6 一个小工具的使用snipaste

2.7 一个小技巧单行文字垂直居中的代码

2.8 单行文字垂直居中的原理​编辑

三、CSS 的背景

3.1背景颜色

3.2 背景图片

3.3 背景平铺

3.4 背景图片位置

3.5 背景图像固定(背景附着)

3.6 背景复合写法

3.7 背景色半透明

3.8 背景总结

1. CSS 的复合选择器

1.1 什么是复合选择器

在CSS 中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的。

1.复合选择器可以更准确、更高效的选择目标元素(标签)

2.复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的

3.常用的复合选择器包括:后代选择器、子选择器、并集选择器、伪类选择器等等

1.2 后代选择器(重要)

后代选择器又称为包含选择器,可以选择父元素里面子元素。

其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

元素1 元素2 {
    样式声明
}

上述语法表示选择元素1里面的所有元素2(后代元素),例如

/*选择ul 里面的所有 li 标签元素*/
ul li {
    
    样式声明
    
}     

1.元素1 和元素2 中间用空格隔开

2.元素1 是父级,元素2 是子级,最终选择的是元素2

3.元素2 可以是儿子,也可以是孙子等,只要是元素1 的后代即可

4.元素1 和元素2 可以是任意基础选择器

1.3 子选择器(重要)

子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。简单理解就是选亲儿子元素.

元素1 > 元素2 { 样式声明}

上述语法表示选择元素1 里面的所有直接后代(子元素) 元素2。

例如:

/*选择div里面所有最近一级 P 标签元素*/ 
div > p{
    样式声明
}

1.元素1 和元素2 中间用大于号隔开

2.元素1 是父级,元素2 是子级,最终选择的是元素2

3.元素2 必须是亲儿子,其孙子、重孙之类都不归他管. 你也可以叫他亲儿子选择器

1.4 并集选择器(重要)

并集选择器可以选择多组标签, 同时为他们定义相同的样式。通常用于集体声明.

并集选择器各选择器通过英文逗号(,)连接而成,任何形式的选择器都可以作为并集选择器的一部分。

元素1,元素2 {
    样式声明
}   

上述语法表示选择元素1 和元素2。

例如:

/*选择  ul  和  div 标签元素 */
ul,div {
    样式声明
} 

1.元素1 和元素2 中间用逗号隔开

2.逗号可以理解为和的意思

3.并集选择器通常用于集体声明

1.5 伪类选择器

伪类选择器用于向某些选择器添加特殊的效果,比如给链接添加特殊效果,或选择第1个,第n个元素。伪类选择器书写最大的特点是用冒号(:)表示,比如:hover 、:first-child 。因为伪类选择器很多,比如有链接伪类、结构伪类等,所以这里先给大家讲解常用的链接伪类选择器。

1.6 链接伪类选择器

一链接伪类选择器注意事项.

二链接伪类选择器实际开发中的写法.

链接伪类选择器注意事项

1. 为了确保生效,请按照LVHA的循顺序声明:link-:visited-:hover-:active。

2. 记忆法:love hate 或者lv 包包hao。

3. 因为a 链接在浏览器中具有默认样式,所以我们实际工作中都需要给链接单独指定样式。

链接伪类选择器实际工作开发中的写法:

/* a是标签选择器 */
a {
    color:gray;
}

/* :hover 是链接伪类选择器,鼠标经过 */
a :hover {
    /*鼠标经过的时候,由原来的灰色  变成了红色*/
   color:red; 
}

1.7 :focus伪类选择器

:focus 伪类选择器用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input> 类表单元素才能获取,因此这个选择器也主要针对于表单元素来说。

input : focus {
    background-color:yellow;
}

1.8 复合选择器总结

选择器作用特征使用情况隔开符号及用法
后代选择器用来选择后代元素可以是子孙后代较多符号是空格 .nav a
子代选择器选择最近一级元素只选亲儿子较少符号是大于 .nav>p
并集选择器选择某些相同样式的元素可以用于集团声明较多符号是逗号 .nav,.header
链接伪类选择器选择不同状态的链接跟链接相关较多重点记住a{}a:hover ,实际开发的写法
:focus选择器选择获得光标的表单跟表单相关较少input:focus 记住这个写法

二、 CSS 的元素显示模式

2.1什么是元素显示模式

作用:网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好的布局我们的网页。

元素显示模式就是元素(标签)以什么方式进行显示,比如<div>自己占一行,比如一行可以放多个<span>。

HTML元素一般分为块元素和行内元素两种类型。

2.2 块元素

常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。

块级元素的特点:

①比较霸道,自己独占一行。

②高度,宽度、外边距以及内边距都可以控制。

③宽度默认是容器(父级宽度)的100%。

④是一个容器及盒子,里面可以放行内或者块级元素。

注意:

1.文字类的元素内不能使用块级元素

2.<p>标签主要用于存放文字,因此<p>里面不能放块级元素,特别是不能放<div>

3.同理,<h1>~<h6>等都是文字类块级标签,里面也不能放其他块级元素

常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span> 标签是最典型的行内元素。有的地方也将行内元素称为内联元素。

行内元素的特点:

①相邻行内元素在一行上,一行可以显示多个。

②高、宽直接设置是无效的。

③默认宽度就是它本身内容的宽度。

④行内元素只能容纳文本或其他行内元素。

注意:

1.链接里面不能再放链接

2.特殊情况链接<a> 里面可以放块级元素,但是给<a> 转换一下块级模式最安全

2.3 行内块元素

在行内元素中有几个特殊的标签——<img />、<input />、<td>,它们同时具有块元素和行内元素的特点。

有些资料称它们为行内块元素。

行内块元素的特点:

①和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。

②默认宽度就是它本身内容的宽度(行内元素特点)。

③高度,行高、外边距以及内边距都可以控制(块级元素特点)。

2.4 元素显示模式总结

元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级元素可以设置宽度高度容器的100%容器级可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽度高度它本身内容的宽度容纳文本或其他行内元素
行内块元素一行放多个行内块元素可以设置宽度高度它本身内容的宽度

学习元素显示模式的主要目的就是分清它们各自的特点,当我们网页布局的时候,在合适的地方用合适的标签元素。

2.5 元素显示模式转换

特殊情况下,我们需要元素模式的转换,简单理解: 一个模式的元素需要另外一种模式的特性比如想要增加链接<a> 的触发范围。

转换为块元素:display:block;

转换为行内元素:display:inline;

转换为行内块:display: inline-block;

2.6 一个小工具的使用snipaste

Snipaste是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上.

常用快捷方式:

1.F1 可以截图. 同时测量大小, 设置箭头书写文字等

2.F3 在桌面置顶显示

3.点击图片, alt 可以取色(按下shift 可以切换取色模式)

4.按下esc 取消图片显示

2.7 一个小技巧单行文字垂直居中的代码

CSS 没有给我们提供文字垂直居中的代码. 这里我们可以使用一个小技巧来实现.

解决方案:让文字的行高等于盒子的高度 就可以让文字在当前盒子内垂直居中

2.8 单行文字垂直居中的原理

简单理解: 行高的上空隙和下空隙把文字挤到中间了. 是如果行高小于盒子高度,文字会偏上,如果行高大于盒子高度,则文字偏下 

三、CSS 的背景

通过CSS 背景属性,可以给页面元素添加背景样式。

背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等。

3.1背景颜色

background-color属性定义了元素的背景颜色。

background-color: transparent;

一般情况下元素背景颜色默认值是transparent(透明),我们也可以手动指定背景颜色为透明色。

background-image : none | url(url)

3.2 背景图片

background-image属性描述了元素的背景图像。实际开发常见于logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置. (精灵图也是一种运用场景)

background-image : none | url(url)
参数值	作用
none	无背景图(默认)
url	使用绝对或相地址指定的背景图像

注意:背景图片后面的地址,千万不要忘记加URL,同时里面的路径不要加引号。

3.3 背景平铺

如果需要在HTML 页面上对背景图像进行平铺,可以使用background-repeat 属性。

background-repeat: repeat| no-repeat| repeat-x| repeat-y
参数值作用
repeat背景图像在纵向和横向上平铺(默认的)
no-repeat背景图像不平铺
repeat-x背景图像在横向上平铺
repeat-y背景图像在纵向平铺

3.4 背景图片位置

利用background-position 属性可以改变图片在背景中的位置。

background-position: x y;
  • 参数:X坐标 Y坐标
  • 可以使用 方位名词 或者 精确单位
参数值说明
length百分数|由浮点数字和单位标识符组成的长度值
positiontop| center | bottom |left |center |right 方位名词

1. 参数是方位名词

如果指定的两个值都是方位名词,则两个值前后顺序无关,比如lefttop和topleft效果一致

如果只指定了一个方位名词,另一个值省略,则第二个值默认居中对齐

2. 参数是精确单位

如果参数值是精确坐标,那么第一个肯定是x 坐标,第二个一定是y坐标

如果只指定一个数值,那该数值一定是x坐标,另一个默认垂直居中

3. 参数是混合单位

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

3.5 背景图像固定(背景附着)

background-attachment 属性设置背景图像是否固定或者随着页面的其余部分滚动。

background-attachment 后期可以制作视差滚动的效果。

background-attachment : scroll | fixed
参数作用
scroll背景图像是随对象内容滚动
fixed背景图像固定

3.6 背景复合写法

为了简化背景属性的代码,我们可以将这些属性合并简写在同一个属性background 中。从而节约代码量.

当使用简写属性时,没有特定的书写顺序,一般习惯约定顺序为:

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

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

3.7 背景色半透明

CSS3 为我们提供了背景颜色半透明的效果。

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

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

我们习惯把0.3 的0 省略掉,写为background: rgba(0, 0, 0, .3);

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

CSS3 新增属性,是IE9+ 版本浏览器才支持的

但是现在实际开发,我们不太关注兼容性写法了,可以放心使用

3.8 背景总结

属性作用
background-color背景颜色预定义的颜色值/十六进制/RGB代码
background-image背景图片url(图片路径)
background-repeat是否平铺repeat/ no-repeat /repeat-x/repeat-y
background-position背景位置length/position 分别是x 和y坐标
background-attachment背景附着scroll(背景滚动) /fixed(背景固定)
背景简写书写更简单背景颜色 背景图片地址 背景平铺 背景滚动 背景位置
背景色半透明背景颜色半透明background : rgba(0,0,0,0.3);后面必须是四个值

背景图片:实际开发常见于logo 或者一些装饰性的小图片或者是超大的背景图片, 优点是非常便于控制位置.(精灵图也是一种运用场景)

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

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

相关文章

多线程编程和并行计算的实例:期货交易及打车软件算法

多线程编程和并行计算的实例:期货交易及打车软件算法 解决现实生活中的问题时&#xff0c;多处理器和多核系统的普及使并行计算成为一个关键的性能提升手段。在这篇博客中&#xff0c;我们将通过深入讨论两个引人入胜而又具有实际意义的场景——期货交易和打车匹配算法&#xf…

CSS圆角进化论

CSS圆角发展过程 大致经历了3个阶段&#xff0c;包括&#xff1a; 背景图片实现圆角CSS2.0标签模拟圆角CSS3.0圆角属性&#xff08;border-radius属性)实现圆角 ☛背景图片实现圆角&#xff1a;使用背景图片实现圆角的方式很多&#xff0c;实现的方式和圆角的切图方式关系密…

AI绘图软件分享:Midjourney 基础教程(三)

大家好&#xff0c;我是权知星球&#xff0c;今天继续给大家分享Midjourney 基础教程&#xff08;三&#xff09;&#xff1a;Midjourney 图生图。 刚开始学习使⽤ AI 绘画时&#xff0c;⼤部分⼈的绘画⽅式&#xff1a; 有⼀个想象中的画⾯&#xff0c;⽤中⽂将这个画⾯描述…

【文件操作与IO】Java中如何操作文件

目录 Java 中操作文件 File 概述 属性 构造方法 方法 代码示例 文件内容的读写 —— 数据流 InputStream 概述 FileInputStream 概述 利用 Scanner 进行字符读取 OutputStream 概述 利用 OutputStreamWriter 进行字符写入 利用 PrintWriter 找到我们熟悉的方法 代码…

D. A Wide, Wide Graph(树的直径)

Problem - 1805D - Codeforces 给定一棵包含n个节点的树&#xff08;一个无环联通图&#xff09;&#xff0c;对于一个固定的整数k&#xff0c;定义Gk为一个具有n个节点的无向图&#xff0c;其中只有当在给定树中节点u和v之间的距离至少为k时才存在边。 对于从1到n的每个k&…

undefined reference to `tputs‘

昨天在Debian11 上编译 bluez 的时候&#xff0c;看这里&#xff0c;出现了如下这个错误&#xff0c;一般这种未定义的错误提示都是没有链接正确的库导致&#xff0c;但是搞了很久都没解决。 奇怪的是之前在 Centos 上编译却没有遇到这个问题&#xff0c;而且在 configure 时也…

做Java开发,真的“穷途末路”了吗?浅谈从2018-2023年,这行到底“卷”成了啥样

文章目录 一、火爆的行业1、裁员潮引发的行业惶恐2、国情下的行业现状3、时代的快速发展 二、Java开发“卷”成了啥样1、2013年2、2018年3、2013年4、真的需要这么多知识吗 三、大龄程序员何去何从引用来处 一、火爆的行业 “程序员”这个代名词&#xff0c;似乎总是跟“高薪”…

基于多进程并发-进程通讯之管道(pipe)

一、管道&#xff08;pipe&#xff09; 所谓的管道&#xff0c;就是内核⾥⾯的⼀串缓存&#xff08;Pipe&#xff09;。一个进程从管道的⼀端写⼊的数据&#xff0c;实际上是缓存在内核中的&#xff0c;另⼀端读取&#xff0c;也就是从内核中读取这段数据。 特性&#xff1a;…

windwos2016 由于没有远程桌面授权服务器可以提供许可证

一、问题&#xff1a; 经常会遇到&#xff0c;server2016、server2012、server2008操作系统&#xff0c;安装远程桌面服务之后没有激活&#xff0c;经过120天到期之后&#xff0c;没办法再使用&#xff0c;重新安装激活远程桌面服务也不能用。 二、具体的报错如下图&#xff…

归并排序详解-附Python代码

排序思路 将输入的列表递归分解成若干个有序的子列表&#xff08;只含有一个元素&#xff09;&#xff1b;将分解后的有序子列表两两归并成一个新的有序列表&#xff1b;重复步骤2&#xff0c;直到完成排序。 重点&#xff1a;如何定义一个归并函数&#xff0c;可以将两个有序…

Qt-自定义控件

Qt-自定义控件 简单使用 首先创建一个工程 在现有的工程上添加文件&#xff0c;选择Qt设计师界面类 选择Widget 添加两个控件之后&#xff0c;选择水平布局 将刚刚自定义的控件smallWidget放置在原始的控件中 首先在原始工程的ui界面 随便放置一个widget 选择&#xff…

我的内网渗透-代理转发(1)

概念 网关 必须经过 用来进行路由转发的设备&#xff0c;网关的作用是让不同网段之间能够通信 代理 委托访问 无论代理后面挂了几台设备&#xff0c;都认为是从代理进行访问&#xff0c;对外只表现为代理一台。外部认为是与代理进行…

计算机提示xinput1_3.dll丢失,三个详细修复方法

打开《绝地求生》游戏的时候&#xff0c;计算机提示xinput1_3.dll丢失&#xff0c;无法启动运行。重新安装一遍游戏依然无法启动运行。这个是由于xinput1_3.dll文件是属于电脑系统DirectX9.0的一个组件&#xff0c;用于提供输入和输出功能。它包含了各种接口和函数&#xff0c;…

spi控制器和spi设备的加载过程

spi控制器都是挂在platform总线上的&#xff0c;所以要等platform总线上的设备驱动加载spi控制器完成后才能加载spi设备。 1.spi控制器加载 由spi控制器驱动程序调用spi_register_master来完成spi控制器驱动加载 int spi_register_master(struct spi_master *master) { ... s…

【ubuntu20.04上构建qemu启动linux kernel】

参考Ubuntu环境下使用qemu搭建arm64运行环境 - 简书 一、交叉编译工具 sudo apt install gcc-aarch64-linux-gnu aarch64-linux-gnu-gcc -v 二、linux内核编译 git clone https://github.com/torvalds/linux.git cp arch/arm64/configs/virt.config .config make ARCHarm64 m…

并网逆变器杂记1-VO-DCC双环控制

NOTE1&#xff1a; 母线电压恒定的条件是&#xff1a; PV输出功率 &#xff0c;等于逆变侧消耗功率 假设&#xff1a;PV侧给母线输入10A &#xff0c;但是逆变侧消耗1A&#xff0c;此时母线Udc会升高 反之PV输入1A&#xff0c;消耗10A&#xff0c;母线Udc会降低。 NOTE2&#…

【IP地址】使用这个免费工具轻松获取地理位置

文章目录 前言一、Ip-API二、使用示例2.1、语言2.2、数据格式 三、简单示例四、更好的服务五、需要注意的点结尾 前言 今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置&#xff0c;包括国家、地区、城市…

CentOs中操作用户命令(添加或删除)

1、不添加任何参数,创建 zhangsan 用户 不加参数时,创建用户默认创建一个用户目录以及用户和组同名,且UID和GID相同 useradd zhangsan 用 id和 ll 命令查看一下,是否成功创建用户目录以及用户和用户组 id ll uid1003( zhangsan) gid1003( zhangsan) 组1003( zhangsan) 2…

Obsidian 与 Typora 图片兼容保存路径一致设置

目录 一、问题二、解决方法 Obsidian官网 &#xff1a; https://obsidian.md/ Your thoughts are yours. 你的想法就是你的。 Obsidian stores notes on your device, so you can access them quickly, even offline. No one else can read them, not even us. 黑曜石将笔记存储…

Java——基础语法

文章目录 1. 变量&#xff1a;变量的声明和初始化变量的作用域变量的命名规则常量 2. 运算符&#xff1a;算术运算符关系运算符逻辑运算符位运算符其他运算符 3. 流程控制&#xff1a;分支结构循环结构跳转控制 4. 类与对象&#xff1a;类的概念对象的概念类的成员构造方法和析…