css进阶知识点速览

0前言

零基础部分的博客

1选择器进阶

1.1后代选择器

作用:根据html标签的嵌套关系,选择父元素后代中满足条件的元素
选择器语法:选择器1 选择器2 {css}
结果:
在选择器1所找到标签的后代中
注意:
后代包括:儿子、孙子等等

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div p {color: red;}</style>
</head>
<body><p><div><p>hello world</p></div></p>
</body>

在这里插入图片描述

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p {color: green;}div p {color: red;}</style>
</head>
<body><p>hello</p><p><div><p>hello world</p></div></p>
</body>

在这里插入图片描述

1.2子代选择器

作用:根据HTML标签的嵌套关系,选择父元素子代中满足条件的元素
选择器语法:选择器1 > 选择器2 {css}
结果:
在选择器1所找到标签的子代中,找到满足选择器

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div p {color: green;}</style>
</head>
<body><div>hello<p>hello world</p><a href="web"><p>hello baby!</p></a></div>
</body>

在这里插入图片描述
如果改用>,如下:

    <style>div > p {color: green;}</style>

在这里插入图片描述

1.3 并集选择器

作用:同时选择多组标签,设置同样的样式
选择器语法:选择器1,选择器2{css}
结果:
找到选择器1和选择器2选中的标签,设置样式

1.4交集选择器

作用:选中页面中同时满足多个选择器的标签
选择器语法:选择器1.选择器2{css}

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>p.no1 {color: green;}</style>
</head>
<body><p class="no1">hello</p><div>hello</div><div class="no1">hello</div>
</body>

在这里插入图片描述

1.5 伪类

作用:选中鼠标悬停在元素上的状态,设置样式
选择器语法:选择器:hover{css}

1.6 Emmet语法

作用:通过简写,快速生成代码
语法如图[1]:
在这里插入图片描述

2 背景色

2.1背景颜色

属性名:background-color (bgc)
属性值:
颜色取值:关键字、rgb表示法、rgba表示法、十六进制
注意点:
背景颜色默认是透明的:rgba(0,0,0,0)、transparent
背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色。

2.2 背景图片

属性名:background-image (bgi)
属性值:background-image: url(‘图片路径’)
注意点:
1背景图片中url可以省略引号
2背景图片默认是在水平垂直方向平铺的
3背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色

2.3背景平铺

如果在style标签中设置的宽和高多大,而图片本身小,会导致图片复制多份而覆盖style设置的区域。
属性名:background-repeat(bgr)
属性值如图[1]
在这里插入图片描述

2.4 背景位置

属性名:background-position(bgp)
在这里插入图片描述
background-position:水平位置设置 垂直位置设置

2.5背景相关属性连写

属性名:background(bg)
属性值:单个属性值合写。取值之间以空格隔开
书写顺序:
background: color image repeat position
复合属性就是一个属性名加多个值

2.6背景与img标签的区别

img标签是一个标签,不设置宽高默认以固定原尺寸显示
img为插入图片,主要用来显示重要的图片,比如宣传图;
div标签+背景图片:需要设置div的宽高,因为背景图片只是装饰css的样式,不能撑开div标签。因此,不设置宽高,没有盒子就没有图片
只起修饰作用的,可有可无的图片就用背景图片

3 元素显示模式

<>叫标签,也叫元素

3.1块级元素

显示特点:
1独占一行
2宽度默认是父元素的宽度,高度默认由内容撑开
3可以设置宽高
代表标签:
div,p,h系列,ul,li,dl,dt,dd,form,header,nav,footer…

3.2行内元素

显示特点
1一行可以显示多个
2宽度和高度默认由内容撑开
3不可以设置宽高
代表标签
a,span,b,u,i,s,strong,ins,em,del…

3.3行内块元素

显示特点:
1一行可以显示多个
2可以设置宽高
代表标签:
input,textarea,button,select
特殊情况:img

3.4元素显示模式的转换

目的:改变元素默认的显示特点,让元素符合布局要求
语法:
display:block 转换成块级元素 较多
display:inline-block 转换成行内块元素 较多
display:inline 转换成行内元素 较少
自然,在元素(标签)的css中进行设置

3.5 拓展

1块级元素一般作为大容器,可嵌套文本、块级元素、行内元素、行内块元素等
但是:p标签中不要嵌套div,p,h等块元素
2a标签内部可用嵌套任意元素
但是:a标签不能套a标签

4 CSS特性

4.1继承性

特性:子元素有默认继承父元素样式的特点
可以继承的常见属性:1color 2font-style,font-weight, font-size, font-family 3text-indent, text-align 4line-height
颜色、字样式、首行缩进、行高
注意点:1可通过调试工具判断样式是否可以继承
2所有控制文字的都能继承,不是控制文字的都不能继承
继承性失效的情况:
1a标签的color会继承失效
2h系列标签的font-size会失效

4.2层叠性

1给同一个标签设置不同的样式,此时样式会层叠叠加,会共同作用在标签上;
2给同一个标签设置相同样式,此时样式会层叠覆盖,最终写在最后的样式生效。
注意:当样式冲突时,只要当选择器优先级相同时,才能通过层叠性判断结果

5 案例

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div a {height: 30px;width: 50px;background-color: red;display: inline-block;text-decoration: none;color: white;text-align: center;line-height: 30px;}div a:hover{background-color: orange;}</style>
</head>
<body><div><a href="">导航1</a><a href="">导航2</a><a href="">导航3</a><a href="">导航4</a><a href="">导航5</a></div>
</body>

在这里插入图片描述

参考

[1]前端开发入门教程笔者学习的课程

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

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

相关文章

python 视频硬字幕去除 内嵌字幕去除工具 vsr

项目简介 开源地址&#xff1a;https://github.com/YaoFANGUK/video-subtitle-remover Video-subtitle-remover (VSR) 是一款基于AI技术&#xff0c;将视频中的硬字幕去除的软件。 主要实现了以下功能&#xff1a; 无损分辨率将视频中的硬字幕去除&#xff0c;生成去除字幕后…

java高级之单元测试、反射

1、Junit测试工具 Test定义测试方法 1.被BeforeClass标记的方法,执行在所有方法之前 2.被AfterCalss标记的方法&#xff0c;执行在所有方法之后 3.被Before标记的方法&#xff0c;执行在每一个Test方法之前 4.被After标记的方法&#xff0c;执行在每一个Test方法之后 public …

取消elementUI中table的选中状态和勾选状态赋值

一、取消所有选中 1、表格上绑定ref 2、清空用户选中数据 this.$refs.loopRef.clearSelection()二、勾选状态赋值 获取数据&#xff0c;flag为true则是选中状态&#xff0c;并将前面勾选框设为选中状态 this.listData.forEach(item> {if(row.flag1){this.$refs.loopRef.to…

JavaEE平台技术——预备知识(Maven、Docker)

JavaEE平台技术——预备知识&#xff08;Maven、Docker&#xff09; 1. Maven2. Docker 在观看这个之前&#xff0c;大家请查阅前序内容。 &#x1f600;JavaEE的渊源 &#x1f600;&#x1f600;JavaEE平台技术——预备知识&#xff08;Web、Sevlet、Tomcat&#xff09; 1. M…

【漏洞复现】typecho_v1.0-14.10.10_unserialize

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 漏洞利用GetShell 下载链接&#xff1a;https://pan.baidu.com/s/1z0w7ret-uXHMuOZpGYDVlw 提取码&#xff1a;lt7a 首页 漏洞点&#xff1a;/install.php?finish 漏洞利用 …

5+单基因泛癌范文式教学,适合小白学习

今天给同学们分享一篇生信文章“Comprehensive Pan-Cancer Analysis of KIF18A as a Marker for Prognosis and Immunity”&#xff0c;这篇文章发表在Biomolecules期刊上&#xff0c;影响因子为5.5。 结果解读&#xff1a; KIF18A的表达及其在泛癌中的诊断价值 TIMER数据库被…

多模态中各种Fusion方式汇总

多模态中各种Fusion骚操作 大噶好&#xff0c;我是DASOU&#xff1b; 今天继续写多模态系列文章&#xff0c;对多模态感兴趣的可以看我之前的文章&#xff1a; 其实对于多模态来说&#xff0c;主要可以从三个部分去掌握它&#xff1a; 如何获取多模态的表示【learning mult…

【ARFoundation学习笔记】ARFoundation基础(下)

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。难免出现纰漏&#xff0c;更多详细内容请阅读原文。 文章目录 TrackablesTrackableManager可跟踪对象事件管理可跟踪对象 Session管理 Trackables 在AR Foundation中&#xff0c;平面…

GoLong的学习之路(番外)如何使用依赖注入工具:wire

我为什么要直接写番外呢&#xff1f;其原因很简单。项目中会使用&#xff0c;其实在这里大家就可以写一些项目来了。 依赖注入的工具本质思想其实都大差不差。无非控制反转和依赖注入。 文章目录 控制反转为什么需要依赖注入工具 wire的概念提供者&#xff08;provider&#x…

【计算机网络笔记】TCP的拥塞控制机制

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Linux文件描述符和打开文件之间的关系

简介 文件描述符和打开的文件之间似乎呈现出一一对应的关系。然而&#xff0c;实际并非如此。多个文件描述符指向同一打开文件&#xff0c;这既有可能&#xff0c;也属必要。这些文件描述符可在相同或不同的进程中打开。 要理解具体情况如何&#xff0c;需要查看由内核维护的…

应用安全四十二:SSO安全

一、什么是SSO SSO是单点登录(Single Sign On)的缩写,是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的企业业务整合的解决方案之一。 身份验证过程依赖于双方之间的信任关…

Spring Boot创建多模块项目

创建一个普通的Spring Boot项目, 然后只留下 pom.xml 剩下的都删掉 删除多余标签 标识当前为父模块 创建子模块 删除子模块中多余标签 声明父模块 在父模块中声明子模块

基于JAVA+SSM的房屋租赁系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着社会的发展和人们…

【C/C++】什么是POD(Plain Old Data)类型

2023年11月6日&#xff0c;周一下午 目录 POD类型的定义标量类型POD类型的特点POD类型的例子整数类型&#xff1a;C 风格的结构体&#xff1a;数组&#xff1a;C 风格的字符串&#xff1a;std::array:使用 memcpy 对 POD 类型进行复制把POD类型存储到文件中&#xff0c;并从文…

webgoat-(A1)SQL Injection

SQL Injection (intro) SQL 命令主要分为三类&#xff1a; 数据操作语言 &#xff08;DML&#xff09;DML 语句可用于请求记录 &#xff08;SELECT&#xff09;、添加记录 &#xff08;INSERT&#xff09;、删除记录 &#xff08;DELETE&#xff09; 和修改现有记录 &#xff…

【自我提升】项目升级-Beyond Compare效率工具

写在前面&#xff1a;最近接手一个项目&#xff0c;这个项目集成了许多开源项目&#xff0c;其中我需要对其中一个开源项目进行升级操作。在此记录升级过程和心得&#xff0c;希望可以给各位道友提供一种思路&#xff0c;同时也希望道友有更好的办法能分享在评论区。 项目场景 …

RabiitMQ消息队列系统

一、MQ 1、概念&#xff1a; MQ 全称为 Message Queue (消息队列)&#xff0c;是一种应用程序对应用程序的通信方法。MQ 允许应用程序将消息写入队列&#xff0c;其他应用程序从队列中读取并处理这些消息&#xff0c;不需要它们之间直接相互联系。消息队列可用于实现异步通信…

idea Error: java: OutOfMemoryError: insufficient memory处理

IDEA设置里&#xff0c;修改heap size更大一点&#xff0c;可以解决问题

apachesolr启动带调试

这里solr.cmd报错&#xff0c;报错原因是java版本问题&#xff0c;后面发现这是因为多个java版本导致读取java_home失败&#xff0c; 那么我们修改solr.cmd中的JAVA_HOME为SOLR_JAVA_HOME IF DEFINED SOLR_JAVA_HOME set "JAVA_HOME%SOLR_JAVA_HOME%"环境变量将SOLR…