网页三剑客之 CSS

news2024/11/29 2:45:20

css 在这里不会介绍太多,我们主要重点介绍两个:选择器和盒子模型就够用了。这里看个乐就好了,没有那么多重点,只是简单的认识一下下CSS。

CSS 是什么

CSS 是层叠样式表 (Cascading Style Sheets)的缩写它存在的意义就是:对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离。

就类似于亚洲四大邪术之一:化妆术。

基本语法规范

选择器 + {一条/N条声明}

  • 选择器决定针对谁修改 (找谁)
  • 声明决定修改啥. (干啥)
  • 声明的属性是键值对. 使用 ; 区分键值对, 使用 : 区分键和值

例如:

<style>
        p {
                /* 设置字体颜色 */
                color: red;
                /* 设置字体大小 */
                font-size: 30px;
        }

</style>
<p>hello</p>

选择器

选择器的功能

选择器通俗的来说就是选中某个元素然后对其操作。

我们来将选择器分分类:

1. 基础选择器: 单个选择器构成的

  • 标签选择器
  • 类选择器
  • id 选择器
  • 通配符选择器

2. 复合选择器: 把多种基础选择器综合运用起来.

  • 后代选择器
  • 子选择器
  • 并集选择器
  • 伪类选择器

基础选择器

1. 标签选择器

就是选中某个标签,然后对类标签进行操作

特点:

  • 能快速为同一类型的标签都选择出来.
  • 但是不能差异化选择

举例:

<style>
    p {
        color: red;
    }
    div {
        color: green;
    }
</style>
<p>咬人猫</p>
<p>咬人猫</p>
<p>咬人猫</p>
<div>阿叶君</div>
<div>阿叶君</div>

注意看,这里直接是用类名称的;<p>、<div>

2. 类选择器

特点:

  • 差异化表示不同的标签
  • 可以让多个标签的都使用同一个标签

我们来举个栗子:

注意看,我们这里使用 . + 类名 的,在使用时需要用class 来选择类。

语法细节:

  • 类名用 . 开头的
  • 下方的标签使用 class 属性来调用.
  • 一个类可以被多个标签使用, 一个标签也能使用多个类(多个类名要使用空格分割, 这种做法可以让代码更好复用)
  • 如果是长的类名, 可以使用 - 分割.
  • 不要使用纯数字, 或者中文, 以及标签名来命名类名
     

 注意: 同一个标签可以同时使用多个类名
这样做可以把相同的属性提取出来, 达到简化代码的效果.

id 选择器

和类选择器类似.

  • CSS 中使用 # 开头表示 id 选择器
  • id 选择器的值和 html 中某个元素的 id 值相同
  • html 的元素 id 不必带 #
  • id 是唯一的, 不能被多个标签使用 (是和 类选择器 最大的区别)

类比:
        姓名是类选择器, 可以重复.
        身份证号码是 id 选择器, 是唯一的

通配符选择器

使用 * 的定义, 选取所有的标签

* {
        color: red;
}

不过,一般情况下不用,太单调的页面反而不好。

作用特点
标签选择器能选出所有相同标签不能差异化选择
类选择器能选出一个或多个标签根据需求选择, 最灵活, 最常用.
id 选择器能选出一个标签同一个 id 在一个 HTML 中只能出现一次
通配符选择器选择所有标签特殊情况下使用

复合选择器

后代选择器

又叫包含选择器. 选择某个父元素中的某个子元素.

元素1 元素2 {样式声明}

  • 元素 1 和 元素 2 要使用空格分割
  • 元素 1 是父级, 元素 2 是子级, 只选元素 2 , 不影响元素 1

并集选择器

并集选择器(CSS选择器分组)是各个选择器通过<strong style="color:#f00">逗号</strong>连接而成的,任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。如果某些选择器定义的样式完全相同,或部分相同,就可以利用并集选择器为它们定义相同的CSS样式。并集选择器 和 的意思, 就是说,只要逗号隔开的,所有选择器都会执行后面样式。

比如  .one, p , #test {color: #F00;}  表示   .one 和 p  和 #test 这三个选择器都会执行颜色为红色。  通常用于集体声明。

子元素选择器

子元素选择器只能选择作为某元素子元素的元素。其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 进行连接,注意,符号左右两侧各保留一个空格。白话: 这里的子 指的是 亲儿子 不包含孙子 重孙子之类。

 比如:  .demo > h3 {color: red;}   说明  h3 一定是demo 亲儿子。  demo 元素包含着h3。

伪类选择器

伪类选择器用于向某些选择器添加特殊的效果。比如给链接添加特殊效果, 比如可以选择 第1个,第n个元素。

为了和我们刚才学的类选择器相区别,  类选择器是一个点 比如 .demo {}   而我们的伪类 用 2个点 就是 冒号  比如  :link{}

链接伪类选择器

  • :link /* 未访问的链接 */

  • :visited /* 已访问的链接 */

  • :hover /* 鼠标移动到链接上 */

  • :active /* 选定的链接 */

选择器作用注意事项
后代选择器选择后代元素可以是孙子元素
子选择器选择子元素只能选亲儿子, 不能选孙子
并集选择器选择相同样式的元素更好的做到代码重用
链接伪类选择器选择不同状态的链接重点掌握 a:hover 的写法.
:focuse 伪类选择器选择被选中的元素重点掌握 input:focus

盒子模型

每一个 HTML 元素就相当于是一个矩形的 "盒子"
这个盒子由这几个部分构成

  • 边框 border
  • 内容 content
  • 内边距 padding
  • 外边距 margin

标准盒模型

标准盒模型的宽高就是content的宽高,也就是说width、height设置的是content的宽高,剩下的三部分内容我们就可以根据需要去设置。

  • margin:外边距设置,有单独的属性去设置单个边距。左(margin-left);右(margin-right);上(margin-top);下(margin-bottom)。我们可以通过margin直接写成简写模式: margin:上 右 下 左(四个属性值,就是按照顺时针设置)
    margin:上 左右 下(三个属性值,中间就是左右的)
    margin:上下 左右(两个属性值,前面表示上下,后面表示左右)
    margin:上下左右(一个属性值,表示四个方位的值都相同)
  • padding:内边距设置,它也有四个方位单独的属性。左(padding-left);右padding-right);上(padding-top);下(padding-bottom),padding简写规则跟margin一样
  • border:设置边框,border是宽度 样式 颜色的简写。 border-width:用来设置边框的宽度。 border-style:用来设置边框的样式,常用的属性值有以下几种:实线(solid);虚线(dashed);点(dotted);双边(double)。 border-color:用来设置边框的颜色,跟color属性值一样可以跟单词、rgb、16进制。

怪异盒模型

怪异盒模型宽高等于content+padding+border加在一起的宽高,当我们设定好宽高后,再设置padding跟border并不会像标准盒模型向外,而是会向内。怪异盒模型由box-sizing设置,当border-box为属性值时就是怪异盒模型,content-box就是标准盒模型。怪异盒模型margin等的设置规则时跟标准的是一样的。

上述来自:CSS详解——盒子模型 - 掘金 (juejin.cn)

具体的样式可以去看参考文档: CSS 选择器参考手册 (w3school.com.cn)

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

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

相关文章

MTSC2023中国互联网测试开发大会将于7月15日在上海举办

一年一度的行业盛会&#xff0c;MTSC2023 中国互联网测试开发大会&#xff0c;将从上海开始。 在为期1天的时间里&#xff0c;主办方将邀请一线技术专家、资深行业大咖与大家齐聚一堂&#xff0c;针对当前热门行业话题以及最新的落地实践&#xff0c;进入深入探讨与分享&#…

《CSS揭秘》笔记

前言 《CSS揭秘》&#xff0c;由Lea Verou编著&#xff0c;由CSS魔法翻译&#xff0c;本篇主要记录阅读《CSS揭秘》过程中的一些要点及收获 第二章 背景与边框 box-shadow与outline box-shadow 利用box-shadow可以绘制多重边框&#xff0c;设置其前三个变量均为0&#xff…

在 Python 中如何使用位运算符来进行布尔运算?

Python 中常见的运算符有&#xff1a; &#xff08;1&#xff09;算术运算符&#xff1a;加号 、减号 - 、乘号 * 、除号 / 、取余数 % 、幂运算 ** 、整除 // 。 &#xff08;2&#xff09;比较运算符&#xff1a;等于 、不等于 ! 、大于 > 、小于 < 、大于等于 >…

【Processing】创意编程零基础学习笔记

博客简介 最近出于兴趣爱好&#xff0c;在学习Processing创意编程。此篇博客用来记录我学习Processing创意编程的基础知识&#xff0c;在我学习Processing的过程中&#xff0c;我会持续修改、更新这篇博客。运用Processing写的一些有趣的小项目&#xff0c;会更新在Procesing专…

Speech and Language Processing之RNN

循环神经网络(RNN)是在其网络连接中包含循环的任何网络。也就是说&#xff0c;任何一个单元的值直接或间接依赖于作为输入的早期输出的网络。虽然这种网络很强大&#xff0c;但很难进行推理和训练。然而&#xff0c;在一般的循环网络中&#xff0c;有一些被证明在应用于口语和书…

深入浅析Linux物理内存外碎片化

本文出现的内核代码来自Linux4.19&#xff0c;如果有兴趣&#xff0c;读者可以配合代码阅读本文。 一、Linux物理内存外碎片化概述 什么是Linux物理内存碎片化&#xff1f;Linux物理内存碎片化包括两种&#xff1a; 1.物理内存内碎片&#xff1a;指分配给用户的内存空间中未…

【Linux命令】fdisk 相关分区命令

fdisk 命令既可以对Ubuntu上已有磁盘进行分区&#xff0c;也可以对SD卡进行分区。假设我们要对最新检测到的 /dev/sdb 设备进行分区。 sudo fdisk /dev/sdb 目录 1、 查看分区情况 —— p 2、删除分区 —— d 3、新增分区 —— n 4、修改分区类型 —— t 5、保存之前所有…

DI依赖注入(setter注入、构造器注入、自动装配、集合注入)

文章目录 1 setter注入1.1 环境准备1.2 注入引用数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 1.3 注入简单数据类型步骤1:声明属性并提供setter方法步骤2:配置文件中进行注入配置步骤3:运行程序 2 构造器注入2.1 环境准备2.2 构造器注入…

统计学02: 二项分布

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> n 次伯努力事件(发生和不发生概率和为1) 发生r次的概率 期望&#xff1a; &#xff0c;方差&#xff1a; using DistributionsdBinomial(4, 0.35);mean(d) 4*0.35var(d) 4*0.35(1-0.35) Example We asked various p…

用Jenkins搭建自动构建服务

Jenkins是BS跨平台构建工具&#xff0c;之前名为Hundson。wiki 【chs en】 最新windows安装包&#xff1a;下载 下文以1.593版本为例&#xff0c;讲述Jenkins的Windows版本的一些要注意的地方 安装 安装路径中不要出现中文或者空格 用户数据相关的目录结构 ├─Jenkins …

精选 100 种最佳 AI 工具大盘点

为了应对对精简流程和数据分析日益增长的需求&#xff0c;整合人工智能工具在多个领域变得至关重要。 本文精选了2023年可用的100种最佳人工智能工具&#xff0c;旨在提高您的生产力、创造力和效率。 以下是 2023 年排名前 100 的人工智能工具&#xff1a; Aidoc&#xff1a;A…

音频格式m4a怎么转换成mp3,高效工具分享

音频格式m4a怎么转换成mp3&#xff1f;因为当我们下载或是保存的音频格式为m4a时&#xff0c;当我们需要在汽车或是其他平台播放时&#xff0c;就要将音频格式m4a转换成mp3。这样做可以提高音频文件的兼容性、便携性和可用性&#xff0c;并且可以减小文件大小以便于共享和传输。…

Android第一代加壳的验证和测试

Android第一代加壳测试&#xff0c;网上有很多文章&#xff0c;本文只是在前人基础上测试和验证。因此&#xff0c;本文的重点在于动手和实践。 第一代加壳技术有三个项目&#xff0c;分别是&#xff1a; 加壳程序。主要是把需要加壳的原程序加密后&#xff0c;放在壳程序中&…

第12章:视图

一、视图 1.常见的数据库对象 ①表table&#xff1a;表是存储数据的逻辑单元&#xff0c;行和列形式存在。列是字段&#xff0c;行是记录。 ②数据字典&#xff1a;系统表&#xff0c;存放数据库相关信息的表。系统表的数据通常是数据库系统维护。 ③约束constraint&#x…

怎样自己开发制作微信小程序?费用多少?

随着移动互联网的深入发展&#xff0c;各行各业都在寻求转型&#xff0c;希望通过线上软件系统来助力传统企业更好的发展&#xff0c;于是各种APP、小程序软件系统层出不穷。微信小程序是诸多软件中最流行的一种&#xff0c;凭借强大的流量基础、随用随走的便捷性和简单易操作的…

【C++】数据结构的恶龙set和map来了~

下一篇AVL树难点中的难点~ 文章目录 前言一、set的介绍二、map的介绍 题目练习总结 前言 1.关联式容器 在初阶阶段&#xff0c;我们已经接触过STL中的部分容器&#xff0c;比如&#xff1a;vector、list、deque、 forward_list(C11)等&#xff0c;这些容器统称为序列式容…

vue3【抛弃vuex,使用pinia】

Pinia Pinia 中文文档 一个全新的用于Vue的状态管理库下一个版本的vuex&#xff0c;也就是vuex5.0vue2 和vue3都支持在vue2中pinia使用vuex的现有接口&#xff0c;所以不能与vuex一起使用相比vuex有更完美的TypeScript支持支持服务器端渲染 Pinia核心概念 Pinia 从使用角度和…

【论文笔记】Learning Latent Dynamics for Planning from Pixels

论文及代码解读&#xff1a;Learning Latent Dynamics for Planning from Pixels 文章目录 论文及代码解读&#xff1a;Learning Latent Dynamics for Planning from Pixels3. Recurrent State Space ModelLatent dynamicsVariational encoderTraining objectiveDeterministic …

Linux系统编程学习 NO.2 ——环境配置和基础指令的学习

操作系统根据使用方式分类 操作系统按照使用类型可分为图形化操作系统和指令操作系统。图形化操作系统的本质其实也是根据指令来操作的。指令更贴近操作系统的底层。而我在学习Linux系统编程时&#xff0c;采用命令行的方式来学习。 补充一个小知识&#xff1a;早期命令行操作…

原装RS罗德与施瓦茨FSW85、FSW50,FSW67信号+频谱分析仪

Rohde & Schwarz FSW85 2Hz至85GHz信号和频谱分析仪 特征 10 kHz 偏移&#xff08;1 GHz 载波&#xff09;时的低相位噪声为 –137 dBc (1 Hz) WCDMA ACLR 测量的 -88 dBc 动态范围&#xff08;带噪声消除&#xff09; 高达 5 GHz 的分析带宽 < 0.4 dB 总测量不确定度高…