css进阶知识点速览

news2024/11/28 18:48:00

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.coloradmin.cn/o/1172380.html

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

相关文章

论文浅尝 | ChatKBQA:基于微调大语言模型的知识图谱问答框架

第一作者&#xff1a;罗浩然&#xff0c;北京邮电大学博士研究生&#xff0c;研究方向为知识图谱与大语言模型协同推理 OpenKG地址&#xff1a;http://openkg.cn/tool/bupt-chatkbqa GitHub地址&#xff1a;https://github.com/LHRLAB/ChatKBQA 论文链接&#xff1a;https://ar…

【std | C++】使用C++返回当前时间的年月日时分秒格式

#include <chrono> #include <ctime> #include <iomanip> #include <iostream> #include <thread>std::string getCurrentDataTimeString() {auto now = std::chrono::system_clock

go语言 | grpc原理介绍(三)

了解 gRPC 通信模式中的消息流 gRPC 支持四种通信模式&#xff0c;分别是简单 RPC、服务端流式 RPC、客户端流式 RPC 和双向流式 RPC。 简单 RPC 在gRPC中&#xff0c;一个简单的RPC调用遵循请求-响应模型&#xff0c;通常涉及以下几个关键步骤和组件&#xff1a; 请求头&a…

【QT】QFileInfo文件信息读取

基于上节&#xff1a;【QT】文件读写-CSDN博客 //文件信息类QFileInfo info(filePath);qDebug() << "后缀名:" << info.suffix() << "大小:"<< info.size()<< "文件名:" << info.fileName() << "…

消息中间件-RabbitMQ介绍

一、基础知识 1. 什么是RabbitMQ RabbitMQ是2007年发布&#xff0c;是一个在AMQP(高级消息队列协议)基础上完成的&#xff0c;简称MQ全称为Message Queue, 消息队列&#xff08;MQ&#xff09;是一种应用程序对应用程序的通信方法&#xff0c;由Erlang&#xff08;专门针对于大…

Git 内容学习

一、Git 的理解 Git是一个分布式版本控制系统&#xff08;Distributed Version Control System&#xff0c;简称 DVCS&#xff09;&#xff0c;用于对项目源代码进行管理和跟踪变更。分为两种类型的仓库&#xff1a;本地仓库和远程仓库。 二、Git 的工作流程 详解如下&#x…

【大学英语视听说上】压头韵收集 + 自然环境口语问答 + 口语考试练习

压头韵&#xff1a; 自然环境口语问答 Q1: Do you like wildlife? Why? Yes, I like wildlife because it represents the rich biodiversity of our planet. Wildlife plays crucial roles in ecosystem health and resilience, providing essential services like pollina…

【LeetCode刷题-栈与队列】--232.用栈实现队列

232.用栈实现队列 class MyQueue {Deque<Integer> inStack;Deque<Integer> outStack;public MyQueue() {inStack new ArrayDeque<Integer>();outStack new ArrayDeque<Integer>();}public void push(int x) {inStack.push(x);}public int pop() {if(…

Python基础入门例程36-NP36 谁的数字大(运算符)

最近的博文&#xff1a; Python基础入门例程35-NP35 朋友的年龄是否相等&#xff08;运算符&#xff09;-CSDN博客 Python基础入门例程34-NP34 除法与取模运算&#xff08;运算符&#xff09;-CSDN博客 Python基础入门例程33-NP33 乘法与幂运算&#xff08;运算符&#xff0…

【软考中级】软件设计师-下午题

下午题 试题一 黑洞&#xff1a;加工有输入无输出 白洞(奇迹)&#xff1a;加工有输出无输入 灰洞&#xff1a;数据流输入的加工不足以产生输出 结构化语言&#xff1a; IF *** THEN ELSE IF *** THEN ******* END IF END IF 数据流的父子图平衡&#xff0c;如果父子图平衡就不…

力扣每日一题100:相同的树

题目描述&#xff1a; 给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&…

网络编程套接字(2)——简单的TCP网络程序

文章目录 一.简单的TCP网络程序1.服务端创建套接字2.服务端绑定3.服务端监听4.服务端获取连接5.服务端处理请求6.客户端创建套接字7.客户端连接服务器8.客户端发起请求9.服务器测试10.单执行流服务器的弊端 二.多进程版的TCP网络程序1.捕捉SIGCHLD信号2.让孙子进程提供服务 三.…

树结构及其算法-二叉运算树

目录 树结构及其算法-二叉运算树 C代码 树结构及其算法-二叉运算树 二叉树的应用实际上相当广泛&#xff0c;例如表达式之间的转换。可以把中序表达式按运算符优先级的顺序建成一棵二叉运算树&#xff08;Binary Expression Tree&#xff0c;或称为二叉表达式树&#xff09;…

请求地址‘/operlog‘,发生未知异常

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是全栈工…

EtherCAT主站读取从站EEPROM抓包分析

0 工具准备 1.EtherCAT主站 2.EtherCAT从站&#xff08;本文使用步进电机驱动器&#xff09; 3.Wireshark1 抓包分析 1.1 报文总览 本文让主站去读取从站1字地址为0的EEPROM数据内容&#xff0c;主站读取从站EEPROM数据内容使用Wireshark抓包如下&#xff1a; 1.2 EEPROM读…

经典喝汽水问题

喝汽水&#xff0c;1瓶汽水1元&#xff0c;两个空瓶可以兑换1瓶汽水&#xff0c;给20元&#xff0c;可以喝到多少瓶汽水&#xff1f; 有两种解决方案 1.第一种 //喝汽水问题 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h>int main() {int money 0;int empty 0…

Vue3后台管理系统框架之时间格式化封装

一般每条数据都会有创建时间或者更新时间 由于我们在数据库设置时间类型为datatime 如何把element plus 表格中的创建时间格式进行格式化&#xff1f; 如&#xff1a;2023-11-03T13:59:05.000Z修改为2023-11-03 21:59 修改为 YYYY-MM-DD HH:mm格式 export const formatDate…

使用 curator 连接 zookeeper 集群 Invalid config event received

dubbo整合zookeeper 如图&#xff0c;错误日志 2023-11-04 21:16:18.699 ERROR 7459 [main-EventThread] org.apache.curator.framework.imps.EnsembleTracker Caller0 at org.apache.curator.framework.imps.EnsembleTracker.processConfigData(EnsembleTracker.java…

更新一下数据集

UCI Machine Learning Repository UCI的数据集还是挺老牌的&#xff0c;最近换了地址&#xff0c;我就再记录一下。 左边是比较常见的数据集&#xff0c;比如Iris很经典&#xff0c;Heart Disease这也是&#xff0c;包括Wine&#xff0c;通常对于初学者学习比较好&#xff0c;…

WPF开源控件HandyControl——零基础教程

学习Handycontrol的过程中,为后边快速开发,写的零基础教程,尽量看完就可以实践! 参考教程 中文文档:欢迎使用HandyControl | HandyOrg Github代码:https://github.com/HandyOrg/HandyControl 使用教程:WPF-HandyControl安装和使用 - 掘金 安装配置教程 创建wpf项目 …