当前位置: 首页 > news >正文

前端入门一之CSS知识详解

前言

  • CSS是前端三件套之一,在MarkDown中也完美兼容这些语法;
  • 这篇文章是本人大一学习前端的笔记;
  • 欢迎点赞 + 收藏 + 关注,本人将会持续更新。

文章目录

      • Emmet语法:
      • CSS基本语法:
        • css语法结构只有3种:选择器、样式属性和值
        • css代码风格:
      • 添加css的方法:
      • CSS选择器:
        • 基础选择器:
        • 复合选择器:
      • 字体属性
        • 字体复合属性:
      • 背景颜色属性:
        • 背景复合属性:
      • 文本属性:
      • CSS三大属性
        • 1、层叠性
        • 2、继承性
        • 3、优先级
      • 盒子模型:
        • 网页布局本质
          • 网页布局过程
          • 网页布局三大核心
        • 盒子模型组成
        • 边框:
          • 边框使用
          • 边框会影响盒子实际大小
        • 内边框:
          • 内边距的影响:
        • 外边距:
        • 一些放在css首位的选择器:
        • 圆角边框:
      • 简单盒子、文字阴影:
        • 盒子阴影:
        • 文字阴影:
      • 浮动:
        • 标准流:
        • 浮动:
      • 块元素、行内元素、行内块元素:
        • 块元素:
        • 行内元素:
        • 行内块:
        • 元素显示模式转换:
      • 定位
          • 边偏移
          • 静态定位(了解)
          • 相对定位 (重要)
          • 绝对定位(重要)
          • 子绝父相
          • 固定定位(重要)
          • 粘性定位(了解)
        • display 属性
        • opacity属性
        • z-index属性

Emmet语法:

  1. 生成标签,如:div + tab
  2. 如果想同时生成多个标签,如:div*3
  3. 如果有父子级标签,如:ul > li
  4. 兄弟关系标签,如:div + p
  5. 生成含有类名,如:.demo(默认是div) p.red
  6. 生成含有顺序,如:div$*3
  7. 如果想在标签内有内容{ }表示

CSS基本语法:

css语法结构只有3种:选择器、样式属性和值
css代码风格:
  • 样式格式:重点,展开格式
  • 样式大小书写:全部用小写
  • 空格规范:
    • 空格

添加css的方法:

  • 链接外部样式

  • 内部样式表:控制一个页面

  • 导入外部样式表

    第一步建立一个css
    <style><link rel="styleheet" href="链接">
    </style>
    
  • 内嵌样式:控制一个

CSS选择器:

  • 分为:基础选择器和复合选择器
基础选择器:
  • 标签选择器
  • 类选择器(class 点开头),一个html标签中可以有多个
  • 多类选择武器
  • id选择器(#名),一个html标签中只能有一个
  • 通配符选择器(*)
复合选择器:
  • 后代选择器
  • 子代选择器(选择最近一个子元素)
    • 元素1(父)>元素2(儿)
  • 并集选择器
    • 元素1,元素2
  • 伪类选择器
    • 如:a: link
    • a: visited
    • a: hover
    • a: active(也是规范的顺序)

字体属性

  • font-family:
  • font-size:
  • font-style:italic normal(默认)
  • font-weight:400 700
  • font-variant(小写转为大写)
字体复合属性:
font:font-style fone-weight font-size/line-height font-family
  • 必须保留size和family
  • 顺序一定要严格

背景颜色属性:

  • background-color:
    • background-color: 颜色取值
  • background-image:
    • background-image: url(图像地址)
  • background-repeat:
    • background-repeat: 取值
    • 取值:(默认)no-repeat repeat-x repeat-y
    • background-attachment:(固定或者滚动)
    • background-attachment:scroll/fixed
  • background-position:
    • background-position:位置取值
    • 位置取值:数值和方向位置
      • 注意:数组一定是 X Y结构
  • background: rgba(0,0,0,0.5); 必须四个值
背景复合属性:
background: 背景颜色 背景图片 背景重复 背景附件 背景位置
  • 顺序随意

文本属性:

  • color:
  • text-align:
    • 值:center left right
  • text-decoration:
    • none(默认) underline(下划线) overline(上划线) line-through(删除线)
  • text-indent:
    • px单位
    • em单位
  • 行间距:line-height

CSS三大属性

1、层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题

原则:

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

在这里插入图片描述

2、继承性

CSS中的继承: 子标签会继承父标签的某些样式,如文本颜色和字号。恰当地使用继承可以简化代码,降低 CSS 样式的复杂性。

口诀:龙生龙,凤生凤,老鼠生的孩子会打洞

在这里插入图片描述

3、优先级

在这里插入图片描述

注意点:

  • 权重是有4组数字组成,但是不会有进位。
  • 等级判断从左向右,如果某一位数值相同,则判断下一位数值。
  • 可以简单记忆法: 通配符和继承权重为0, 标签选择器为1,类(伪类)选择器为 10, id选择器 100, 行内样式表为 1000, !important 无穷大.
  • 继承权重为0.无论父类有多大权重

权重叠加

复合选择器,会有权重叠加

  • div ul li---------> 0,0,0,3
  • .nav ul li---------> 0,0,1,2
  • a:hover--------->0,0,1,1
  • .nav a --------------> 0,0,1,1

盒子模型:

网页布局的核心:利用CSS摆盒子

  • content padding margin border
网页布局本质

利用CSS实现盒子模型

网页布局过程
  1. 先准备好相关的网页元素,网页元素基本都是盒子 Box 。
  2. 利用 CSS 设置好盒子样式,然后摆放到相应位置。
  3. 往盒子里面装内容
网页布局三大核心
  • 盒子模型
  • 浮动
  • 定位
盒子模型组成

盒子模型:把 HTML 页面中的布局元素看作是一个矩形的盒子,也就是一个盛装内容的容器。

在这里插入图片描述

边框:
边框使用
  • 三部分:宽度 样式 颜色
    • border-width
    • border-color
    • border-style
      • solid(实线边框)
      • dashed(虚线框)
      • dotted(点线边框)
    • none
  • 复合边框:border:(无顺序)
  • 上下左右边框,如:border->top
  • 重点:border-collapse(控制相领的边框,表格的细线边框)
    • border-collapse:collapse
  • 注意:边框会影响盒子的实际大小
边框会影响盒子实际大小

边框会额外增加盒子实际大小,需要根据实际情况布局

内边框:
  • padding

    • padding-top
    • padding-bottom
    • padding-right
    • padding-left
  • padding的复合写性

    • padding:1px 代表上下左右都是1px
    • padding:1px 2px 代表上下是1px,左右是2px
    • padding:1px 2px 3px 代表上是1px,下是3px,左右是2px
    • padding:1px 2px 3px 4px ,代表顺时针
    内边距的影响:
    • 内容与边框有距离,增加了内边距
    • padding影响了盒子的实际大小
    • 解决方案,改变height和width的大小,或者不写height和width
外边距:
  • margin, 其他写法与padding一样
  • 外边距的典型运用:
    • 让盒子水平居中,属性值为:auto
  • 外边距合并
    • 嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷比较大
      • 解决方案:
      • 可以为父元素定义一个上边框
      • 可以为父元素定义内边框
      • 可以为父元素添加overflow:hidden;
      • 可以用浮动,定位

在这里插入图片描述

在这里插入图片描述

一些放在css首位的选择器:
  • 清除内外边距

    * {margin:0;padding:0;
    }
    
  • ul-li不显示小圆点

    li {list-style:none;
    }
    
圆角边框:
border-radius:length;
  • length:数值/百分比
  • 正方形想要圆,50%
  • 圆角矩形:设置高度的一般就行了
  • 也可以分开写,如:border-top-left-radius:
  • 也可以合起来写:border-radius:

简单盒子、文字阴影:

盒子阴影:
  • box-shadow:h-shadow v-shadow blur spread color inset
    • h-shadow v-shadow 必须有,h水平阴影 v垂直阴影
    • blur 模糊距离
    • spread 阴影尺寸
    • color 阴影的颜色 rgba(0,0,0,.3)
    • inset 将外部阴影改为内部种(默认外部阴影)
文字阴影:
  • text-shadow
  • 其余同上

浮动:

标准流:
  • 就是标签按照规定好默认方式排列
  • 最基本的页面布局
浮动:
  • float:none(默认)
    • left(左浮动)
    • right(右浮动)
  • 两个最重要的的特征
    1. 脱离标准普通流的控制,移动到指定位置 (托标)
    2. 浮动盒子不再保留原来的位置

块元素、行内元素、行内块元素:

块元素:
  • div(最金典)
  • h1-h6
  • p
  • ul、ol、dl
  • form
  • table
  • 特点
    • 独占一行
    • 高、宽度以及内边距都可以控制
    • 是一个融器
    • 注意:p h1-h6 内不可以存在块元素
行内元素:
  • a
  • strong
  • br
  • del
  • span(最经典)
  • textarea
  • 特点:
    • 一行可以多个
    • 高、宽不能设置
    • 默认宽就是本身内容宽度
    • 行内元素只能放在文本或者其它行内元素
行内块:
  • img
  • input
  • td
  • 特点:
    • 默认文本高度
    • 高度、宽度都可以控制
    • 一行可以多个
元素显示模式转换:
  • 转为块元素:display:block;
  • 转为行内元素:display:inline;
  • 转为行内块元素:display:line-block;

定位

定位:将盒子定在某一个位置,所以定位也是在摆放盒子,按照定位的方式移动盒子

定位 = 定位模式 + 边偏移

定位模式用于指定一个元素在文档的定位方式。边偏移则决定了该元素的最终位置

边偏移
边偏移属性示例描述
toptop: 80px顶端偏移量,定义元素相对于其父元素上边线的距离
bottombottom: 80px底部偏移量,定义元素相对于其父元素下边线的距离
leftleft: 80px左侧偏移量,定义元素相对于其父元素左边线的距离
rightright: 80px右测偏移量,定义元素相对于其父元素右边线的距离
静态定位(了解)

静态定位是元素的默认定位方式,无定位的意思

语法:

选择器 {position: static;}
  • 静态定位按照标准流特性摆放位置,无边偏移
  • 静态定位在布局中很少用
相对定位 (重要)

相对定位是元素在位移位置的时候,是相对于他原来的位置来说的

语法:

选择器 {position: relative;
}

相对定位的特点:(重要)

  • 它是相对于自己原来的位置来移动的(移动位置的时候参照点是自己原来的位置)
  • 原来在标准流的位置继续占有
绝对定位(重要)

绝对定位是元素在移动的时候,是相对于它祖先元素来说的

语法:

选择器 {position: absolute;}

特点(重要):

  • 如果没有父元素或者祖先元素,则以浏览器为准定位
  • 如果祖元素有定位(相对、绝对、固定定位),则以最近定位元素为参考点
  • 绝对定位不再占有原先位置
子绝父相

因为父亲要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位

固定定位(重要)

固定定位是元素固定于浏览器可视区位置

选择器 {position: fixed;}

特点(重要):

  • 跟父元素没有关系
  • 不随滚动条滚动
  • 固定位置不在占有原先的位置
粘性定位(了解)

语法:

选择器 {position: sticky;
}
display 属性
  • display: none; 隐藏对象
  • display: block;
opacity属性

颜色透明

  • opacity: .5;
z-index属性

提高层级

  • z-index: 999; (999最高层级)

相关文章:

前端入门一之CSS知识详解

前言 CSS是前端三件套之一&#xff0c;在MarkDown中也完美兼容这些语法&#xff1b;这篇文章是本人大一学习前端的笔记&#xff1b;欢迎点赞 收藏 关注&#xff0c;本人将会持续更新。 文章目录 Emmet语法&#xff1a;CSS基本语法&#xff1a;css语法结构只有3种&#xff1a…...

【JS学习】10. web API-BOM

文章目录 Web APIs - 第5天笔记js组成window对象定时器-延迟函数location对象navigator对象histroy对象本地存储&#xff08;今日重点&#xff09;localStorage&#xff08;重点&#xff09;sessionStorage&#xff08;了解&#xff09;localStorage 存储复杂数据类型 综合案例…...

C#实现递归获取所有父级的列表

条件&#xff1a; 父级的id是子级的父id形成递归条件 实现功能&#xff1a; 获取自己到最顶级父级的列表&#xff08;假如最顶级父级的父ID0&#xff09; 代码&#xff1a; 解释&#xff1a;CF_CODE是自己的ID&#xff0c;CF_PARENT_ID是父id /// <summary>/// 递归获…...

【深度学习】梯度累加和直接用大的batchsize有什么区别

梯度累加与使用较大的batchsize有类似的效果&#xff0c;但是也有区别 1.内存和计算资源要求 梯度累加&#xff1a; 通过在多个小的mini-batch上分别计算梯度并累积&#xff0c;梯度累积不需要一次加载所有数据&#xff0c;因此显著减少了内存需求。这对于显存有限的设别尤为重…...

【Linux】网络相关的命令

目录 ① ip addr show ② ip route show ③ iptables -nvL ④ ping -I enx00e04c6666c0 192.168.1.100 ⑤ ip route get 192.168.1.100 ⑥ sudo ip addr add dev enx00e04c6666c0 192.168.1.101/24 ⑦ ifconfig ⑧ netstat ⑨ traceroute ⑩ nslookup ① ip addr sho…...

leetcode哈希表(五)-四数相加II

题目 454.四数相加II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&…...

Java学习路线:Maven(一)认识Maven

目录 认识Maven 新建Maven文件 导入依赖 认识Maven Maven是一个Java的项目管理工具&#xff0c;通过Maven&#xff0c;我们可以实现&#xff1a; 项目自动构建&#xff0c;包括代码的编译、测试、打包、安装等依赖管理&#xff0c;快速完成依赖的导入 在学习Maven之前&…...

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、1×1 卷积层、汇聚层、多通道汇聚层

【深度学习】— 多输入多输出通道、多通道输入的卷积、多输出通道、11 卷积层、汇聚层、多通道汇聚层 多输入多输出通道多通道输入的卷积示例&#xff1a;多通道的二维互相关运算 多输出通道实现多通道输出的互相关运算 11 卷积层11 卷积的作用 使用全连接层实现 11 卷积小结 …...

java mapper 的 xml讲解

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace"com.bnc.s12.mapper.GoodaCateDT…...

全面解析:区块链技术及其应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 全面解析&#xff1a;区块链技术及其应用 文章目录 全面解析&#xff1a;区块链技术及其应用什么是区块链区块链的工作原理1. 分…...

python基础学习笔记

本文类比c语言讲解python 一.变量和类型 前缀小知识&#xff1a; 注意&#xff1a;1.python写每一行代码时&#xff0c;结尾不需要 ; 这点是和c语言有很大区别的 2.代码的缩进&#xff08;就是每行代码前面的空格&#xff09;是非常重要的后文会提到 1.定义变量 注意: 和C/C …...

【dvwa靶场:XSS系列】XSS (DOM) 低-中-高级别,通关啦

一、低级low 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default 拼接的新内容 <script>alert("假客套")</script> 二、中级middle 拼接的url样式&#xff1a;​​​​​​​ http://127.0.0.1/dvwa/vuln…...

ONLYOFFICE 8.2深度体验:高效协作与卓越性能的完美融合

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ONLYOFFICE 8.2 &#x1f50d;引言&#x1f4d2;1. ONLYOFFICE 产品简介&#x1f4da;2. 功能与特点&#x1f341;协作编辑 PDF&#x1f342;…...

Mac如何将多个pdf文件归并到一个

电脑&#xff1a;MacBook Pro M1 操作方式&#xff1a; very easy 选中想要归并的所有pdf文件&#xff0c;然后 右键 -> quick actions -> Create PDF 然后就可以看到将所选pdf文件归并为一个pdf的文件了...

LINUX下的Mysql:Mysql基础

目录 1.为什要有数据库 2.什么是数据库 3.LINUX下创建数据库的操作 4.LINUX创建表的操作 5.SQL语句的分类 6.Mysql的架构 1.为什要有数据库 直接用文件直接存储数据难道不行吗&#xff1f;非得搞个数据库呢&#xff1f; 首先用文件存储数据是没错&#xff0c;但是文件不方…...

自然语言处理方向学习建议

自然语言处理方向学习建议 自然语言处理&#xff08;NLP&#xff09;作为人工智能的一个重要分支&#xff0c;近年来在学术界和工业界都取得了显著的发展。作为即将或正在攻读博士学位的你&#xff0c;投身于NLP领域无疑是一个充满挑战与机遇的选择。以下是一些针对NLP方向学习…...

介绍一下如何生成随机数(c基础)

适合对象 c语言初学者 总结语言用色&#xff0c;个人强调用红色&#xff0c;注意为易错点&#xff0c;若有问题请告诉我谢谢。(建议通过目录观看)。一定要自己动手打代码。 rand函数 是生成随机数的函数&#xff0c;但实则是伪随机数。(即是同一个值) 格式 #include<st…...

24-11-1-读书笔记(三十一)-《契诃夫文集》(五)下([俄] 契诃夫 [译] 汝龙)生活乏味但不乏魅力。

文章目录 《契诃夫文集》&#xff08;五&#xff09;下&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;生活乏味但不乏魅力。目录阅读笔记总结 《契诃夫文集》&#xff08;五&#xff09;下&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;生活乏味但不乏魅力。 休息&#xff0c…...

从“点”到“面”,热成像防爆手机如何为安全织就“透视网”?

市场上测温产品让人眼花缭乱&#xff0c;通过调研分析&#xff0c;小编发现测温枪占很高比重。但是&#xff0c;测温枪局限于显示单一数值信息&#xff0c;无法直观地展示物体的整体温度分布情况&#xff0c;而且几乎没有功能拓展能力。以AORO A23为代表的热成像防爆手机改变了…...

基于vue框架的的奶茶店预约订单系统3fb55(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,奶茶分类,奶茶信息 开题报告内容 开题报告 题目&#xff1a;基于Vue框架的奶茶店预约订单系统开发 一、研究背景与意义 背景 随着饮品市场的蓬勃发展&#xff0c;奶茶店作为其中的重要组成部分&#xff0c;其业务量和顾客需求持…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战

“&#x1f916;手搓TuyaAI语音指令 &#x1f60d;秒变表情包大师&#xff0c;让萌系Otto机器人&#x1f525;玩出智能新花样&#xff01;开整&#xff01;” &#x1f916; Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制&#xff08;TuyaAI…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...