Web-CSS入门

WEB前端,三部分:HTML部分、CSS部分、Javascript部分。

1.HTML部分:主要负责网页的结构层

2.CSS部分:主要负责网页的样式层

3.JS部分:主要负责网页的行为层


**基本概念**

层叠样式表,Cascading Style Sheet (CSS) 也叫级联样式表,主要用来控制网页样式和布局。实现网页内容与样式分离,提高网页开发效率和可维护性,便于统一管理网页风格。

**引入方式**

- 行内样式:主要就是通过标签的style属性来进行设置。每个标签都要写,且可能出现大量重复的问题。优先级高。
- 内部样式:将CSS代码写在网页内,在head标签的style标签内。规避了一些重复的行内样式,作用进在于当前页面。
- 外部样式:将CSS代码以一个独立的文件存在`xxx.css`,在HTML中用`link`标签来进行引入。


目录

一.CSS选择器:

1.基础选择器

2.复合选择器

3.属性选择器

4.伪类选择器

        1. 链接伪类选择器

        2.结构伪类选择器

        3.目标伪类选择器

        4.表单相关伪类选择器

        5.否定伪类选择器

        6.焦点相关伪类选择器

5.伪元素选择器

6.优先级的计算规则

二.CSS的常见样式

1.形状相关

2.阴影效果

3.文本效果

4.超出处理方案

5.隐藏和显示

6.背景样式

7.定位问题

8.CSS3新特性

9.媒体查询

10.@font-face 字体

11.过渡效果

12.变幻效果


一.CSS选择器:

1.基础选择器

标签选择器:通过HTML的标签名进行选择;

        标签名称{样式代码}

- 类选择器:通过标签的class属性进行选择;(可以重名的ID)

         typeA {

                        background-color: aqua;

                    }

- ID选择器:通过标签的id属性进行选择;

        <p id = "p1">一个带有ID的段落</p>

- 通配符选择器(不用)清除所有的标签的边距

        <style>*{color:red;}   <style>

优先级:ID选择器>类选择器>标签选择器(有相同属性时 如果没有相同属性 则共同作用)

2.复合选择器

- 后代选择器:选择某个元素内部的所有层级的子元素 `祖先选择器 后代选择器`

- 子选择器:选择某个元素内部的下一级特定子元素 `父选择器 > 子选择器`

- 相邻兄弟选择器:选择紧接着某一个元素的且同时具有相同父元素的兄弟元素 `前一个 + 后一个`

- 后续兄弟选择器:选择某一个元素之后且同时具有相同父元素的所有兄弟元素 `前一个元素 ~ 后一个元素`

- 交集选择器:选择同时满足多个选择器的元素,多个选择器之间没有分隔连着写即可

- 并集选择器:选择满足任意一个选择器条件的元素,多个选择器之间用逗号分隔即可 `选择器,选择器,选择器`

## 优先级的计算规则

CSS选择器优先级的计算遵循 **特殊性** 规则:

- 选择器的特殊性由四个值表示(从左到右重要性依次递减) `[0,0,0,0]`

- 内联样式:一个内联样式提供一个 `[1,0,0,0]`

- ID选择器:一个ID选择器提供一个 `[0,1,0,0]`

- 类选择器、属性选择器、伪类选择器:每一个提供 `[0,0,1,0]`

- 标签选择器:一个标签选择器提供一个 `[0,0,0,1]`

- 通配符选择器:`[0,0,0,0]`

- 继承属性:比上述所有更低,最低的

举例子来看:

- `body div p`:`[0,0,0,3]`

- `ol p`:`[0,0,0,2]`

- `.type p`:`[0,0,1,1]`

- `#main ~ p`:`[0,1,0,1]`

- `div.text ~ p `:`[0,0,1,2]`

- 按照特殊性从左到右比较 `[0,1,0,0]` > `[0,0,0,1000]`

- 如果优先级一样的话,后定义的覆盖先定义的(相同属性,不相同则共同作用)

3.属性选择器

允许根据元素的属性或属性值来进行选择

- 存在属性选择器:选择具有指定属性的元素,无论元素的值是什么 `[属性名]`

- 精确属性值选择器:选择具有指定属性名和指定属性值的元素 `[属性名="属性值"]`

- 包含单词属性选择器:选择具有指定属性名,但该属性的值是一个以空格分隔的单词列表(多属性值),其中包含指定单词的元素。`[属性名~="属性值"]`

- 以指定字符串开头的属性值选择器:选择具有指定属性名,并且该属性值以指定字符串开头的元素 `[属性名^="属性值"]`

- 以指定字符串结尾的属性值选择器:选择具有指定属性名,并且该属性值以指定字符串结尾的元素 `[属性名$="属性值"]`

- 包含指定字符串属性选择器:选择具有指定属性名,并且该属性值包含指定字符串的元素 `[属性名*="属性值"]`

4.伪类选择器

        1. 链接伪类选择器
主要用于处理链接元素在不同交互状态下的样式。

- `:link`:用于选择未被访问的状态

- `:visited`:用于选择被访问的状态

- `:hover`:用于选择鼠标悬停时的状态

- `:active`:用于选择正在被激活(鼠标点击)的元素的状态

        2.结构伪类选择器
根据元素在文档树(document)中的位置来选择的。

- `:first-child`:选择作为其父元素中第一个子元素的元素

- `:last-child`:选择作为其父元素中最后一个子元素的元素

- `:nth-child(n)`:选择作为其父元素中第n个子元素,n可以是数字,可以是关键字(even偶数 odd奇数)、也可以是公式(`2n+1`)

- `:nth-last-child(n)`:将上面这个`:nth-child(n)`倒过来。

- `:first-of-type`:选择作为其父元素中第一个指定类型的子元素

- `:last-of-type`:选择作为其父元素中最后一个指定类型的子元素

- `:nth-of-type(n)`:选择作为其父元素中第n个指定类型的子元素

- `:nth-last-of-type(n)`:将上面这个`:nth-of-type(n)`倒过来。

- `:only-child`:选择作为其父元素中唯一一个的子元素

- `:only-of-type`:选择作为其父元素中唯一一个指定类型的子元素

        3.目标伪类选择器
选择当前活动的目标元素,通常用于URL的锚点链接
        4.表单相关伪类选择器
用于选择表单元素的不同状态

- `:enable`:选择可用的表单元素

- `:disable`:选择不可用的表单元素

- `:checked`:选择被选中的表单元素

- `:required`:选择具有`required`属性的元素

- `:optinal`:选择没有`required`属性的元素

- `:valid`:选择符合表单验证的元素

- `:invalid`:选择不符合表单验证的元素

- `:in-range`:选择数据在表单范围内的元素

- `:out-of-range`:选择数据不在表单范围内的元素

        5.否定伪类选择器
选择不匹配的选择器的元素
        6.焦点相关伪类选择器

- `:focus`:选择当前获得焦点的元素

- `:focus-within`:选择包含获得焦点的子元素的父元素

- `:focur-visible`:选择当前获得焦点且焦点可见的元素

5.伪元素选择器
用于选取元素中的特定部分,这些部分在文档树中并不真实存在,只是通过CSS来进行的虚拟创建和样式化的内容。

- `::before` 和 `::after`:在选定元素的内容之前或之后添加额外的内容,content属性指定添加的内容。

- `::first-letter`:选定元素的内容的第一个字符

- `::first-line`:选定元素的内容的第一行文字

- `::selection`:选定元素的内容被选中时

- `::placeholder`:设置表单输入框提示文字的样式


二.CSS的常见样式

## css常见样式参考表

1.形状相关

宽、高、边线、字体相关的样式

2.阴影效果

阴影效果主要有文本阴影和盒子阴影

3.文本效果

4.超出处理方案

5.隐藏和显示

针对本身,可以实现标签的隐藏和显示。

在CSS中,`display`属性控制标签的隐藏和显示。

`display`不仅仅能够隐藏或者显示标签,而且可以修改标签默认属性,如将块标签修改为行内标签,或者将行内标签修改为块标签。

6.背景样式

7.定位问题

 定位:css的定位效果是,重新调整标签的位置关系

                position:static 默认效果

                绝对定位:将标签确定在某一个位置  

                父相子绝(如果某一个子元素需要做绝对定位,参照的父元素必须做相对定位)

8.CSS3新特性

CSS3诞生于2010年前后,W3C在12年左右发布了C3标准。

        + 媒体查询

        + 字体设置

        + 动画、过渡、变换等动画效果

        + avg等icon的使用

        + ……

9.媒体查询

媒体查询在CSS2时,就已经存在了。

媒体查询:指的是CSS对于当前展示页面的设备的查询能力,**适配对应的屏幕分辨率。**

CSS2:
@media 查询,在css2就出现了,最开始用来指定对应的设备,如tv表示电视(tv)、screen表示电脑、print表示打印机,后来随着移动端的发展,设备的更新,为了响应现在日异月新的显示屏设备展示数据,css3提供了媒体查询,主要针对不同分辨率的屏幕。在2010年前,移动互联网的发展,促使大量各种分辨率的屏幕出现。CSS2提供的媒体就不满足时代的发展了,因此C3正式推出了符合当前时代发展的媒体查询,是以分辨率为媒体的查询标准了。

10.@font-face 字体

可以使用@font-face,通过自定义的字体文件,实现任意字体在页面文字中的使用。

11.过渡效果

过渡,是CSS3提供的,用来让CSS样式,实现补间动画的一种手段,在规定的时间内,从开始到结束这个区间内,实现动画的自动补齐。

12.变幻效果

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

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

相关文章

2025年PMP 学习十六 第11章 项目风险管理 (总章)

2025年PMP 学习十六 第11章 项目风险管理 &#xff08;总章&#xff09; 第11章 项目风险管理 序号过程过程组1规划风险管理规划2识别风险规划3实施定性风险分析规划4实施定量风险分析规划5规划风险应对执行6实施风险应对执行7监控风险监控 目标: 提高项目中积极事件的概率和…

基于SpringBoot的小区停车位管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

HTML常用标签用法全解析:构建语义化网页的核心指南

HTML作为网页开发的基石&#xff0c;其标签的合理使用直接影响页面的可读性、SEO效果及维护性。本文系统梳理HTML核心标签的用法&#xff0c;结合语义化设计原则与实战示例&#xff0c;助你构建规范、高效的网页结构。 一、基础结构与排版标签 1.1 文档结构 <!DOCTYPE htm…

国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域

​ PageOffice 国产版 &#xff1a;支持信创系统&#xff0c;支持银河麒麟V10和统信UOS&#xff0c;支持X86&#xff08;intel、兆芯、海光等&#xff09;、ARM&#xff08;飞腾、鲲鹏、麒麟等&#xff09;、龙芯&#xff08;Mips、LoogArch&#xff09;芯片架构。 在实际的Wor…

.NET Core liunx二进制文件安装

最近遇见个尴尬的事情&#xff0c;都2025年了。我需要部署一个自己多年前写的项目。由于时间紧、任务重&#xff0c;我懒得去升级到8.0了。于是计划在Ubuntu20.04上安装.NET Core3.1项目。可以使用包管理器却安装不上了。于是&#xff0c;我就尝试二进制文件安装。 实际上二进…

【python基础知识】Day 27 函数专题2:装饰器

知识点&#xff1a; 装饰器的思想&#xff1a;进一步复用函数的装饰器写法注意内部函数的返回值 装饰器教程 作业&#xff1a; 编写一个装饰器 logger&#xff0c;在函数执行前后打印日志信息&#xff08;如函数名、参数、返回值&#xff09; def logger(func):def wrapper(*ar…

MGX:多智能体管理开发流程

MGX的多智能体团队如何通过专家混合系统采用全新方法,彻底改变开发流程,与当前的单一智能体工具截然不同。 Lovable和Cursor在自动化我们的特定开发流程方面取得了巨大飞跃,但问题是它们仅解决软件开发的单一领域。 这就是MGX(MetaGPT X)的用武之地,它是一种正在重新定…

【未完】【GNN笔记】EvolveGCN:Evolving Graph Convolutional Networks for Dynamics Graphs

Evolving Graph Convolutional Networks for Dynamics Graphs 视频链接&#xff1a;《图神经网络》 相关系列&#xff1a; 《Dynamic Graph的分类》《动态图网络之Dynamic Self-Attention Network》 文章目录 Evolving Graph Convolutional Networks for Dynamics Graphs一、…

Go语言之路————并发

Go语言之路————并发 前言协程管道SelectsyncWaitGroup锁 前言 我是一名多年Java开发人员&#xff0c;因为工作需要现在要学习go语言&#xff0c;Go语言之路是一个系列&#xff0c;记录着我从0开始接触Go&#xff0c;到后面能正常完成工作上的业务开发的过程&#xff0c;如…

Gmsh划分网格|四点矩形

先看下面这段官方自带脚本 /*********************************************************************** Gmsh tutorial 1** Variables, elementary entities (points, curves, surfaces), physical* entities (points, curves, surfaces)********************************…

leetcode0215. 数组中的第K个最大元素-medium

1 题目&#xff1a;数组中的第K个最大元素 官方标定难度&#xff1a;中 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时…

rocketmq 环境配置[python]

因本人是 python 开发&#xff0c;macbook 开发。windows 可以采取配置远程 linux 解释器或者 pycharm 专业版的 docker 解释器进行开发 M1 芯片 本地运行 rocketmq rocketmq Python 开源地址&#xff1a; https://github.com/apache/rocketmq-client-python 因为需要 linu…

OCCT知识笔记之OCAF框架详解

OCAF框架在OCCT项目中的构建与使用指南 Open CASCADE Application Framework (OCAF)是Open CASCADE Technology (OCCT)中用于管理CAD数据的核心框架&#xff0c;它提供了一种结构化方式来组织和管理复杂的CAD数据&#xff0c;如装配体、形状、属性(颜色、材料)和元数据等。本文…

go-数据库基本操作

1. 配置数据库 package mainimport ("gorm.io/driver/mysql""gorm.io/gorm" ) #配置表结构 type User struct {ID int64 json:"id" gorm:"primary_key" // 主键ID自增长Username stringPassword string } #配置连接接信息 func…

【含文档+PPT+源码】基于大数据的交通流量预测系统

技术栈说明 技术栈&#xff1a; 后端&#xff1a;Django&#xff08;后端是前后端分离的&#xff09; 前端&#xff1a;Vue.js ElementUI 开发工具&#xff1a; Python3.9以上 Pycharm MySQL5.7/MySQL8 VSCode 项目演示视频 基于大数据的交通流量预测系统

海盗王3.0的数据库3合1并库处理方案

原版的海盗王数据库有3个accountserver&#xff0c;gamedb&#xff0c;tradedb&#xff0c;对应到是账号数据库&#xff0c;游戏数据库&#xff0c;商城数据库。 一直都有个想法&#xff0c;如何把这3个库合并到一起&#xff0c;这样可以实现一些功能。 涉及到sqlserver的数据库…

Apollo Client 1.6.0 + @RefreshScope + @Value 刷新问题解析

问题描述 在使用 Apollo Client 1.6.0 结合 Spring Cloud 的 RefreshScope 和 Value 注解时&#xff0c;遇到以下问题&#xff1a; 项目启动时第一次属性注入成功后续配置变更时&#xff0c;Value 属性会刷新&#xff0c;但总是刷新为第一次的旧值&#xff0c;而不是最新的配…

LearnOpenGL --- 你好三角形

你好&#xff0c;三角形的课后练习题 文章目录 你好&#xff0c;三角形的课后练习题一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO 一、创建相同的两个三角形&#xff0c;但对它们的数据使用不同的VAO和VBO #include <glad/glad.h> #include &…

STM32F407VET6实战:CRC校验

CRC校验在数据传输快&#xff0c;且量大的时候使用。下面是STM32F407VET6HAL库使用CRC校验的思路。 步骤实现&#xff1a; CubeMX配置 c // 在CubeMX中启用CRC模块 // AHB总线时钟自动启用 HAL库代码 c // 初始化&#xff08;main函数中&#xff09; CRC_HandleTypeDef …

Vue3中实现轮播图

目录 1. 轮播图介绍 2. 实现轮播图 2.1 准备工作 1、准备至少三张图片&#xff0c;并将图片文件名改为数字123 2、搭好HTML的标签 3、写好按钮和图片标签 ​编辑 2.2 单向绑定图片 2.3 在按钮里使用方法 2.4 运行代码 3. 完整代码 1. 轮播图介绍 首先&#xff0c;什么是…