css重点知识汇总(一)

news2025/3/28 12:56:01

css重点知识汇总(一)

引入css的不同方式

link

  • 通过src来获取相应的css资源。
  • 除了获取css之外还可以获取其他资源,例如js
  • 在页面载入是同步下载
  • 可以通过js对dom操作来改变css

@import

  • css3引入的新方法
  • 只能引入css资源
  • 需要页面完全载入后才能加载
  • 可以通过媒体查询去获取相应的css资源

使用css的不同方式

  • 从外部导入link
  • 直接在style内撰写
  • 上述两种方式都需要通过各种选择器来将样式载入元素
  • 直接写在元素内部,不通过选择器来选择

css选择器的优先级(权值)

  • !important的优先级最高
  • 内嵌样式:1000
  • id选择器: 100
  • 类选择器,伪类选择器,属性选择器:100
  • 伪类选择器,标签选择器:1
  • 通用选择器(*)、子选择器(>)和相邻同胞选择器(+)并不在这四个等级中,所以它们的权值都为 0 ;
  • 如果优先级相同,则最后出现的样式生效;
  • 样式表的来源不同时,优先级顺序为:内联样式 > 内部样式 > 外部样式 > 浏览器用户自定义样式 > 浏览器默认样式。

布局(display)

block

  • 块级元素,独占一行
  • 可以设置margin,paddding,width,height

inline

  • 行内元素,可以多个占在一行
  • 不可以设置width,height
  • 只能设置水平的margin,paddding。

inline-block

  • 行内块级元素,可以多个占一行
  • 同时可以设置margin,paddding,width,height

flex

  • 弹性盒子,是现代css设置布局时的首选
  • 属性较上述两个较为复杂,之后会详细叙述

position(定位)

static:

  • 默认值,就是相当于没有特殊定位,归属于正常文档流

relative

  • 相对定位
  • 一般是指相对于自己原先的位置来定位
  • 和其他元素没关系,也不会影响其他元素。
  • 不会脱离文档流

absolute

  • 绝对定位
  • 相对于离自己最近的设置了position的祖先元素(static不算),如果没有是浏览器边缘
  • 会脱离标准流

fix

  • 固定定位
  • 元素的定位是相对于 window (或者 iframe)边界的
  • 具有破坏性,会破坏其他元素的布局
  • 必须设置了left,top等值时才会生效

sticky

  • 粘性定位
  • 粘性定位的元素是依赖于用户的滚动,在 position:relativeposition:fixed 定位之间切换
  • 超出目标区域时会与fixed一致

transform(位移)

二维变换

  • translate
  • scale
  • rorate
  • skew(倾斜)

三维变换

  • 同上,只不过参数多了一个z轴

其他

  • 不做太多介绍(没怎么用过)

隐藏元素的方式

  • display: none
    • 这样相应元素直接不会出现在渲染树上
    • 包括子元素一起全部消失,不会渲染
  • visibliity: hidden & opacity: 0
    • 只是让元素不可见,相应的元素任然占据空间
  • 通过位移或定位将元素移至页面可见范围外
  • 使用z-index负值
  • clip/clip:path: 裁剪元素来实现隐藏,不过元素会 绑定监听事件
  • 使用transform的scale,同时这样元素也不会绑定任何监听事件

CSS3 中有哪些新特性

  • 新增各种 CSS 选择器 (: not(.input):所有 class 不是“input”的节点)
  • 圆角 (border-radius:8px)
  • 多列布局 (multi-column layout)
  • 阴影和反射 (Shadoweflect)
  • 文字特效 (text-shadow)
  • 文字渲染 (Text-decoration)
  • 线性渐变 (gradient)
  • 旋转 (transform)
  • 增加了旋转,缩放,定位,倾斜,动画,多背景

伪元素与伪类的区别

  • 伪元素使用 ::
  • 伪类使用 :
  • 伪元素相当于在一个元素附近新增了一个元素,不过这个元素不在dom树中,只会在渲染时出现,也就无法绑定事件
  • 伪类是指给现有元素增添一些新的特性,比如hover是在元素被选中时的特殊状态,可以通过这个来给元素增加特殊效果

替换元素的概念

  • 通过修改某个属性值呈现的内容就可以被替换的元素就称为“替换元素”。类似与image,video这类
  • 替换元素的内容的外观一般不受页面css的影响
  • 对于某些css的规则与一般元素不同,比方说 vertical-align 的默认值的 baseline,很简单的属性值,基线之意,被定义为字符 x 的下边缘,而替换元素的基线却被硬生生定义成了元素的下边缘。
  • 替换元素一般都是行内元素(一些是inline,一些是inline-block)

对css-prites的理解

  • 又称为精灵图,指的是在网页使用一些图片时不是将每一张图片都存下来,而是使用一张图片来存放多张图片的内容
  • 优点很明显,可以大大增快网络请求的速度,毕竟要传的资源量变少了
  • 缺点是需要对图片进行设计,要让多张图片资源互不影响,当传输的图片变动时则需要对图片进行重新设计,对程序员来说则需要知道所需图片在精灵图上的具体位置才能使用

css样式的单位

  • cm,mm

  • px:指的是逻辑像素,一般1px对应一个逻辑像素点

  • em:根据父元素的font-size大小变化而改变的单位,如父元素的font-size=15px,那么1em = 15px

  • rem:根据根元素(html)的font-size大小变化而改变的单位

  • vh,vw:根据移动端设备长宽而改变的单位,视窗高度是 100vh,视窗宽度是 100vw

  • vmin:vw 和 vh 中的较小值;

  • vmax:vw 和 vh 中的较大值;

  • % :相对于父元素的大小而言,100%表示和父元素一样大

CSS 中可继承与不可继承属性有哪些

一、无继承性的属性

1.display:规定元素应该生成的框的类型

2.文本属性

  • vertical-align:垂直文本对齐
  • text-decoration:规定添加到文本的装饰
  • text-shadow:文本阴影效果
  • white-space:空白符的处理
  • unicode-bidi:设置文本的方向

1.盒子模型的属性:width、height、margin、border、padding

2.背景属性:background、background-color、background-image、background-repeat、background-position、background-attachment

3.定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index

4.生成内容属性:content、counter-reset、counter-increment

5.轮廓样式属性:outline-style、outline-width、outline-color、outline

6.页面样式属性:size、page-break-before、page-break-after

7.声音样式属性:pause-before、pause-after、pause、cue-before、cue-after、cue、play-during

二、有继承性的属性

1.字体系列属性

  • font-family:字体系列
  • font-weight:字体的粗细
  • font-size:字体的大小
  • font-style:字体的风格

1.文本系列属性

  • text-indent:文本缩进
  • text-align:文本水平对齐
  • line-height:行高
  • word-spacing:单词之间的间距
  • letter-spacing:中文或者字母之间的间距
  • text-transform:控制文本大小写(就是 uppercase、lowercase、capitalize 这三个)
  • color:文本颜色

1.元素可见性

  • visibility:控制元素显示隐藏

1.列表布局属性

  • list-style:列表风格,包括 list-style-type、list-style-image 等

1.光标属性

  • cursor:光标显示为何种形态

浮动

  • 历史介绍:浮动是在早年网页的样式需求没如今这么大时出现的,当时只是为了做一些简单的文字环绕效果,只不过该功能恰好可以实现一些当时很难实现的一些布局形式,所以很多人用浮动来写样式
  • 但如今在有flex,grid这类专为布局设计的功能下,我们应该尽量少使用浮动,并且浮动还非常消耗渲染的资源
  • 使用:
    • float:left(right):向左(右)浮动
    • 浮动的元素会脱离标准流,同时还可能会使父元素的高度塌陷(父元素的高度原先由浮动元素撑起)
  • 取消浮动
    • 给父级 div 定义 height属性
    • 最后一个浮动元素之后添加一个空的 div 标签,并添加 clear:both样式
    • 包含浮动元素的父级标签添加 overflow:hidden或者 overflow:auto
    • 使用 :after 伪元素,在伪元素中添加clear。

对 BFC 的理解,如何创建 BFC

先来看两个相关的概念:

  • Box: Box 是 CSS 布局的对象和基本单位,⼀个页面是由很多个 Box 组成的,这个 Box 就是我们所说的盒模型。
  • Formatting context:块级上下⽂格式化,它是⻚⾯中的⼀块渲染区域,并且有⼀套渲染规则,它决定了其⼦元素将如何定位,以及和其他元素的关系和相互作⽤。

块格式化上下文(Block Formatting Context,BFC)是 Web 页面的可视化 CSS 渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域。

通俗来讲:BFC 是一个独立的布局环境,可以理解为一个容器,在这个容器中按照一定规则进行物品摆放,并且不会影响其它环境中的物品。如果一个元素符合触发 BFC 的条件,则 BFC 中的元素布局不受外部影响。

创建 BFC 的条件:

  • 根元素:body;
  • 元素设置浮动:float 除 none 以外的值;
  • 元素设置绝对定位:position (absolute、fixed);
  • display 值为:inline-block、table-cell、table-caption、flex 等;
  • overflow 值为:hidden、auto、scroll;

BFC 的特点:

  • 垂直方向上,自上而下排列,和文档流的排列方式一致。
  • 在 BFC 中上下相邻的两个容器的 margin 会重叠
  • 计算 BFC 的高度时,需要计算浮动元素的高度
  • BFC 区域不会与浮动的容器发生重叠
  • BFC 是独立的容器,容器内部元素不会影响外部元素
  • 每个元素的左 margin 值和容器的左 border 相接触

BFC 的作用:

-解决 margin 的重叠问题:由于 BFC 是一个独立的区域,内部的元素和外部的元素互不影响,将两个元素变为两个 BFC,就解决了 margin 重叠的问题。

-解决高度塌陷的问题:在对子元素设置浮动后,父元素会发生高度塌陷,也就是父元素的高度变为 0。解决这个问题,只需要把父元素变成一个 BFC。常用的办法是给父元素设置 overflow:hidden

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

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

相关文章

PMP-项目运行环境

你好!我是 Lydia-穎穎 ♥感谢你的陪伴与支持 ~~~ 欢迎一起探索未知的知识和未来,现在lets go go go!!! 1. 影响项目的要素 项目存在在不同的环境下,环境对于项目的交付产生不同的影响。需了解环境对于项目的影响,采取相应措施应对…

shell 脚本搭建apache

#!/bin/bash # Set Apache version to install ## author: yuan# 检查外网连接 echo "检查外网连接..." ping www.baidu.com -c 3 > /dev/null 2>&1 if [ $? -eq 0 ]; thenecho "外网通讯良好!" elseecho "网络连接失败&#x…

Huawei 鲲鹏(ARM/Aarch64)服务器安装KVM虚拟机(非桌面视图)

提出问题 因需要进行ARM架构适配,需要在Huawei Taishan 200k(CPU: Kunpeng 920 5231K)上,创建几台虚拟机做为开发测试环境。 无奈好久没搞了,看了一下自己多年前写的文章:Huawei 鲲鹏&#xf…

《Python实战进阶》No28: 使用 Paramiko 实现远程服务器管理

No28: 使用 Paramiko 实现远程服务器管理 摘要 在现代开发与运维中,远程服务器管理是必不可少的一环。通过 SSH 协议,我们可以安全地连接到远程服务器并执行各种操作。Python 的 Paramiko 模块是一个强大的工具,能够帮助我们实现自动化任务&…

【Kafka】深入了解Kafka

集群的成员关系 Kafka使用Zookeeper维护集群的成员信息。 每一个broker都有一个唯一的标识,这个标识可以在配置文件中指定,也可以自动生成。当broker在启动时通过创建Zookeeper的临时节点把自己的ID注册到Zookeeper中。broker、控制器和其他一些动态系…

C++特性——RAII、智能指针

RAII 就像new一个需要delete,fopen之后需要fclose,但这样会有隐形问题(忘记释放)。RAII即用对象把这个过程给包起来,对象构造的时候,new或者fopen,析构的时候delete. 为什么需要智能指针 对于…

CentOS系类普通挂载磁盘挂载命令

检查磁盘是否有分区 lsblk如果 vdb 下面没有分区(比如 vdb1),你需要先创建分区。 创建分区(如果需要) fdisk /dev/vdb然后在 fdisk 交互界面: 输入 n 创建新分区 选择 p 创建主分区 默认分区号和大小 输…

强化学习(赵世钰版)-学习笔记(9.策略梯度法)

本章是课程的导数第二章,旨在讲解策略的函数化形式。 之前的方法,描述一个策略都是用表格的形式,每一行代表一个状态,每一列代表一个行为,表格中的元素对应相关状态下执行相关行为的概率。 函数化的策略表征形式是指&a…

【c++】【STL】unordered_set 底层实现(简略版)

【c】【STL】unordered_set 底层实现&#xff08;简略版&#xff09; ps:这个是我自己看的不保证正确&#xff0c;觉得太长的后面会总结整个调用逻辑 unordered_set 内部实现 template <class _Kty, class _Hasher hash<_Kty>, class _Keyeq equal_to<_Kty>…

网络安全设备配置与管理-实验4-防火墙AAA服务配置

实验4-p118防火墙AAA服务配置 从这个实验开始&#xff0c;每一个实验都是长篇大论&#x1f613; 不过有好兄弟会替我出手 注意&#xff1a;1. gns3.exe必须以管理员身份打开&#xff0c;否则ping不通虚拟机。 win10虚拟机无法做本次实验&#xff0c;必须用学校给的虚拟机。首…

【论文阅读】Contrastive Clustering Learning for Multi-Behavior Recommendation

论文地址&#xff1a;Contrastive Clustering Learning for Multi-Behavior Recommendation | ACM Transactions on Information Systems 摘要 近年来&#xff0c;多行为推荐模型取得了显著成功。然而&#xff0c;许多模型未充分考虑不同行为之间的共性与差异性&#xff0c;以…

基于协同过滤推荐算法的景点票务数据系统(python-计算机毕设)

摘 要 I ABSTRACT II 第 1 章 引言 1 研究背景及意义 1 研究背景 1研究意义 1 国内外研究现状 2 智慧旅游 3旅游大数据 3 研究内容 4本章小结 4 第 2 章 相关技术概述 5 基于内容的推荐算法 5 基于内容的推荐算法原理 5基于内容的推荐算法实现 5 协同过滤推荐算法 6 协同过…

Ubuntu 24 常用命令方法

文章目录 环境说明1、账号管理1.1、启用 root 2、包管理工具 apt & dpkg2.1、apt 简介 & 阿里源配置2.2、dpkg 简介2.3、apt 和 dpkg 两者之间的关系2.4、常用命令 3、启用 ssh 服务4、防火墙5、开启远程登录6、关闭交换分区7、build-essential&#xff08;编译和开发软…

Flask多参数模版使用

需要建立目录templates&#xff1b; 把建好的html文件放到templates目录里面&#xff1b; 约定好参数名字&#xff0c;单个名字可以直接使用&#xff1b;多参数使用字典传递&#xff1b; 样例&#xff1a; from flask import render_template # 模板 (Templates) #Flask 使用…

自然语言处理|深入解析 PEGASUS:从原理到实践

一、引言 在信息爆炸的时代&#xff0c;互联网上的文本数据以极快的速度增长。无论是新闻资讯、学术论文、社交媒体动态&#xff0c;还是各类报告文档&#xff0c;我们每天接触到的文字信息量巨大。如何快速、准确地提取关键内容成为一项重要任务。文本摘要技术通过将长篇文本…

Spring AI Alibaba快速使用

AI 时代&#xff0c;Java 程序员也需要与时俱进&#xff0c;这两个框架必须掌握。 一个是 Spring AI一个是 Spring Alibaba AI。 Spring AI 是一个AI工程领域的应用程序框架&#xff0c;它的目标是将 Spring生态系统的设计原则应用于人工智能领域。 但是&#xff0c; Spring…

socks 协议介绍

SOCKS协议详解 一、基本定义与核心功能 SOCKS&#xff08;Socket Secure&#xff09;是一种网络传输协议&#xff0c;主要用于通过代理服务器转发客户端与目标服务器之间的通信请求。其核心功能包括隐藏用户真实IP地址、穿透防火墙限制以及支持多种网络协议&#xff08;如TCP…

Linux --centos安装显卡驱动

显卡下载页面 https://www.nvidia.com/en-us/drivers/unix/ 随便下载一个即可 安装过程 查看当前设备的显卡信息 lspci | grep -i vga安装gcc相关依赖 yum update -y yum update gcc yum install build-essential yum install gcc-multilibdkms yum groupinstall "Dev…

统信UOS中使用Vscode编程

写在前面&#xff1a;统信UOS其实就是套壳的Linux系统&#xff0c;所以有问题如果搜不到解决方法&#xff0c;可以参考Linux下的解决方法。 1.环境配置 Vscode : 1.85.0 Vscode就直接下载安装就行&#xff0c;然后安装插件&#xff1a;Volar、中文汉化包 node&#xff1a;18…

docker安装向量数据库Milvus及可视化工具 Attu

前置条件 1.安装了docker 2.服务器网络正常&#xff0c;可以连接到容器下载地址 3.服务器磁盘空间正常&#xff0c;docker磁盘占用过大&#xff0c;请参考docker容量占用过大解决办法 一、下载yml文件 可在文章资源下载或者自行下载&#xff1a;下载yml 下载这个单机版本的…