前端之CSS光速入门

一、CSS介绍

什么是CSS?

CSS(Cascading Style Sheet),层叠样式表,用于控制页面的样式.

CSS能够对网页中元素位置的排版进行像素级的精确控制,实现美化页面的效果.能够做到页面的样式和结构分离.(CSS可以理解为"东方四大邪术"的化妆术.对页面展示进行化妆.)

基本语法规范 

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

选择器决定针对谁修改(找谁)

声明决定修改啥.(干啥)

声明的属性是键值对。使用 ; 区分键值对,使用 : 来区分键和值.

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

 注意:

CSS要写到style标签中(后面会介绍其它方法)

style标签可以放到页面的任意位置,一般放在head标签内.

CSS使用/**/进行注释.(使用ctrl + /进行快速转换)

 3种引入方式对比:

1.内部样式会出现大量的代码冗余,不方便后期的维护,所以不常用.

2.行内样式,只适合于写简单样式.只针对某个标签生效.缺点是不能写太复杂的样式

3.外部样式,html和css实现了完全的分离,企业常用的方式. 

样式大小写:虽然CSS不区分大小写,开发的时候统一使用小写字母.

空格规范:冒号后面带空格.  选择器和 { 之间也有空格.

二、CSS选择器

CSS选择器的主要功能就是选中页面指定的标签元素.选中了元素,才可以限制元素的属性.

CSS选择器主要分以下几种:

1.标签选择器

2.类选择器

3.id选择器

4.复合选择器

5.通配符选择器 

1、标签选择器 

/* 选择所有的a标签,设置颜色为红色 */
a {
    color: red;
}
 
/* 选择所有的div标签,设置颜色为绿色 */
div {
    color: green;
}

2、类选择器

/* 选择class为font32的元素,设置字体大小为32px */
.font32 {
    font-size: 32px;
}

一个类可以被多个标签使用,一个标签也能使用多个类(多个类名要使用空格分割,这种做法可以让代码更好地被复用). 

3、id选择器

/* 选择id为submit的元素, 设置元素为红色 */
#submit {
    color: red;
}

id是唯一的,不能被多个标签使用(是和类选择器的最大区别

4、复合选择器

/* 只设置ul下的 li标签下的 a标签,颜色是红色 */
ul li a {
    color: blue;
}

5、通配符选择器

/* 设置页面中所有的元素,颜色为红色 */
* {
    color: red;
}

 

1.以上三个标签选择器ul li a中的任意,都可以替换成类选择器,或者id选择器,可以是任意选择器的组合,也可以是任意数量选择器的组合.

2.不一定是相邻的标签,也可以是"孙子"标签

3.如果需要选择多种标签,可以使用 , 分割, 如 p, div { } 表示同时选中p标签和div标签.逗号前后可以是以上任意选择器,也可以是选择器的组合.

4.选择器的使用遵循就近原则.

三、常用CSS 

接下来学习一些常见的CSS样式.

准备如下html

<div class="text1">我是文本1</div>

font-family :字体样式

<style>
        .font-family .one {
        font-family: 'Microsoft YaHei';
        }
        .font-family .two {
        font-family: '宋体';
        }
    </style>
       <div class="font-family">
          <div class="one">
                这是微软雅黑
          </div>
          <div class="two">
                这是宋体
          </div>
       </div>

 

color:设置颜色.

.text1 {
    color: red;
}

颜色有如下几种表达方式:

英文单词:如red, blue.

rgb代码的颜色, 如rgb(255, 0, 0)

十六进制的颜色, 如#ffffff

font-size :设置字体大小

.text1 {
    font-size: 32px;
}

font-weight :设置字体粗细

字体粗细这里使用到的是font-weight,注意font-weight后面的参数只能是一些整数,比如100,200,

 <sytle>     
   .three {
            font-weight: 100;
        }
        .four {
            font-weight: 900;
        }
    </style>
       <div>
          <div class="three">
                这是微软雅黑
          </div>
          <div class="four">
                这是宋体
          </div>
       </div>

 

背景属性

1、设置背景颜色

background-color

和之前的color非常相似,可以使用英文单词、rgb、#16进制的数字。

注意,背景颜色和文本颜色不要太接近,最好是一个深色一个浅色。

2、设置背景图片

background-image: url(./moon.png);

背景图片默认就是一个平铺的效果,类似于地板砖,挨个平铺。

border:边框

边框是一个复合属性,可以同时设置多个样式,不分先后顺序,浏览器会根据设置的值自动判断.

.text1 {
    border: 1px solider purple;
}

以上border属性对应设置的维度分别为边框粗细,边框样式,边框颜色.

也可以拆开来设置

border: 1px solid purple; 就等同于以下代码: 

.text1 {
    border-width: 1px;
    border-style: solid;
    border-color: purple;
}

width/height 

width:设置宽度

height:设置高度

只有块级元素可以设置宽高

块级元素是html标签的一种显示模式,对应的还有行内元素.

常见的块级元素:h1-h6,p,div等

常见的行内元素: a span

块级元素独占一行,可以设置宽高.

行内元素不能独占一行,不能设置宽高.

改变显示模式:

使用display属性可以修改元素的显示模式.

display:block 改成块级元素(常用)

display:inline 改成行内元素(很少用)

.text1 {
    width:200px;
    height:100px;
}

padding(内边距) 

padding:内边距,设置内容和边框之间的距离.

内容默认是顶着边框来设置的,用padding来控制这个距离.

.text {
    padding: 20px;
}

padding也是一个复合样式,可以对四个方向分开设置. 

padding-top    

padding-bottom

padding-left

padding-right 

margin(外边距) 

margin:外边距,设置元素和元素之间的距离.

margin也是一个复合样式,可以给四个方向都加上外边距.

margin-top

margin-bottom

margin-left

margin-right

 margin和padding之间的区别:margin是指框与框之间的距离,而padding是指框内元素与框之间的距离. 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

P8615 拼接平方数 P8699 排列数

文章目录 [蓝桥杯 2014 国 C] 拼接平方数[蓝桥杯 2019 国 B] 排列数 [蓝桥杯 2014 国 C] 拼接平方数 题目描述 小明发现 49 49 49 很有趣&#xff0c;首先&#xff0c;它是个平方数。它可以拆分为 4 4 4 和 9 9 9&#xff0c;拆分出来的部分也是平方数。 169 169 169 也有…

【AIGC】结构化的力量:ChatGPT 如何实现高效信息管理

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 &#x1f4af;前言&#x1f4af;结构化的定义 &#xff08;Structuration: Definition&#xff09;1. 结构化的定义2. 结构化的示例3. 技术领域中的结构化数据 &#x1f4af;有序的规则的重要…

如何实现日期选择窗口

文章目录 1 概念介绍2 使用方法3 示例代码我们在上一章回中介绍了TimePicker Widget相关的内容,本章回中将介绍DatePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里说的DatePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为日期,它…

开启数字化时代心理服务新篇章:专属线上心理咨询服务小程序

在当今快节奏的社会中&#xff0c;心理健康问题日益受到人们的关注。然而&#xff0c;传统的心理咨询模式往往受限于时间和地点&#xff0c;使得许多人在寻求心理帮助时感到不便。与此同时&#xff0c;心理课程的传播也面临着诸多挑战&#xff0c;如何高效地触达目标客户群体&a…

ElasticSearch 简介

一、什么是 ElastcSearch&#xff1f; ElasticSearch 是基于 Lucene 的 Restful 的分布式实时全文搜索引擎。 1.1 ElasticSearh 的基本术语概念 index 索引 索引类似与 mysql 中的数据库&#xff0c;ES 中的索引是存储数据的地方&#xff0c;包含了一堆有相似结构的文档数据…

条件概率相关公式

条件概率 条件概率是指在事件 B 已经发生的情况下&#xff0c;事件 A 发生的概率&#xff0c;记作 P(A∣B) 。其定义公式为&#xff1a; &#xff08; P(B) > 0 &#xff09; 全概率公式 全概率公式用于计算由一组互斥且完备的事件构成的事件的概率。设 是一组互斥且完备…

【C++】C++11(lambda、可变参数模板、包装器、线程库)

&#x1f308;个人主页&#xff1a;秦jh_-CSDN博客&#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/qinjh_/category_12575764.html?spm1001.2014.3001.5482 ​ 目录 前言 lambda表达式 C98中的一个例子 lambda表达式语法 函数对象与lambda表达式 新的类功能…

12.11数据结构-图

无向完全图&#xff1a;在无向图中&#xff0c;如果任意两个顶点之间都存在边&#xff0c;则称该图为无向完全图。 有向完全图&#xff1a;在有向图中&#xff0c;如果任意两个顶点之间都存在方向相反的两条弧&#xff0c;则称该图为有向完全图。 含有n个顶点的无向完全图有…

深度学习作业 - 作业十一 - LSTM

问题一 推导LSTM网络中参数的梯度&#xff0c;并的分析其避免梯度消失的效果 LSTM网络是为了解简单RNN中存在的长程依赖问题而提出的一种新型网络结构&#xff0c;其主要思想是通过引入门控机制来控制数据的流通&#xff0c;门控机制包括输入门、遗忘门与输出门&#xff0c;同…

Sigrity System Explorer DC IR Drop Analysis模式进行直流压降仿真分析操作指导

Sigrity System Explorer DC IR Drop Analysis模式进行直流压降仿真分析操作指导 Sigrity System Explorer DC IR Drop Analysis模式可以用于直流压降仿真分析,通过搭建简易拓扑用于前仿真分析,下面搭建一个简易的直流系统进行说明,以下图为例,准备好PCB的SPICE模型SpiceNe…

华为HarmonyOS实现跨多个子系统融合的场景化服务 -- 4 设置打开App Button

场景介绍 本章节将向您介绍如何使用Button组件打开APP功能&#xff0c;可调用对应Button组件打开另一个应用。 效果图展示 单击“打开APP”按钮&#xff0c;出现提示弹窗&#xff0c;单击“允许”&#xff0c;跳转至新的应用界面。 说明 弹窗是否弹出以及弹窗效果与跳转目标…

Spring Security 6 系列之二 - 基于数据库的用户认证和认证原理

之所以想写这一系列&#xff0c;是因为之前工作过程中使用Spring Security&#xff0c;但当时基于spring-boot 2.3.x&#xff0c;其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0&#xff0c;结果一看Spring Security也升级为6.3.0&#xff0c;关键是其风…

[笔记] Ubuntu Server 24.04安装MySql8,并配置远程连接

1、MySql安装 #更新列表 sudo apt update ​ #安装mysql sudo apt install mysql-server ​ #运行状态 mysql sudo service mysql status ​ # 安装完成&#xff0c;已自动启动&#xff0c;该步可以不用 启动 mysql sudo /etc/init.d/mysql start ​ # 该步骤可以不配置&…

软件开发中 Bug 为什么不能彻底消除

在软件开发中&#xff0c;Bug无法彻底消除的原因主要包括&#xff1a;软件复杂度高、人员认知与沟通受限、需求和环境不断变化、工具与测试覆盖不足、经济与时间成本制约。其中“需求和环境不断变化”尤为关键&#xff0c;因为在实际开发中&#xff0c;业务逻辑随着市场与用户反…

使用ElasticSearch实现全文检索

文章目录 全文检索任务描述技术难点任务目标实现过程1. java读取Json文件&#xff0c;并导入MySQL数据库中2. 利用Logstah完成MySQL到ES的数据同步3. 开始编写功能接口3.1 全文检索接口3.2 查询详情 4. 前端调用 全文检索 任务描述 在获取到数据之后如何在ES中进行数据建模&a…

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(三)

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(三) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linux驱动 相关内容搜索的推荐首位,感谢大家支持。 《拉…

调用完BAPI_PO_CREATE1创建采购订单之后,如果不调用BAPI_TRANSACTION_COMMIT,数据库里面没有数

在调用完BAPI_PO_CREATE1创建采购订单之后&#xff0c;如果不调用BAPI_TRANSACTION_COMMIT&#xff0c;那么就无法生成真正的采购订单号&#xff0c;在数据库里面没有数 运行结果 特别注意

linux(CentOS8)安装PostgreSQL16详解

文章目录 1 下载安装包2 安装3 修改远程连接4 开放端口 1 下载安装包 官网下载地址&#xff1a;https://www.postgresql.org/download/ 选择对应版本 2 安装 #yum源 yum -y install wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redha…

如何通过递延型指标预测项目的长期成果?

递延型指标&#xff08;Deferred Metrics&#xff09;是指那些并不立即反映或直接影响当前操作、决策或行为的指标&#xff0c;而是随着时间的推移&#xff0c;才逐渐显现出影响效果的指标。这类指标通常会在一段时间后反映出来&#xff0c;或者需要一定的周期才能展现其成果或…

Reactor 响应式编程(第四篇:Spring Security Reactive)

系列文章目录 Reactor 响应式编程&#xff08;第一篇&#xff1a;Reactor核心&#xff09; Reactor 响应式编程&#xff08;第二篇&#xff1a;Spring Webflux&#xff09; Reactor 响应式编程&#xff08;第三篇&#xff1a;R2DBC&#xff09; Reactor 响应式编程&#xff08…