CSS基础

目录

一.CSS介绍

三种CSS的写法

1.内部样式

2.内联样式

3.外部表示

二.CSS选择器

1.标签选择器

2.类选择器

​编辑

3.ID选择器

​编辑

4.后代选择器

​编辑

5.子选择器

6.并集选择器

7.伪类选择器

三.CSS常用属性值

1.字体设置

2.文本属性

1.文字颜色

2.文本对齐

3.文本装饰

4.文本缩进

5.行高

3.背景属性

背景颜色

背景图片

背景大小

圆角矩形

四.元素的显示模式

1.边框

2.内边距

3.外边距

五.弹性布局

1.开启弹性布局

2.设置元素的水平方向的排列

3.设置元素垂直方向的排布


一.CSS介绍

CSS能够对网页中元素位置排版并进行像素级精准控制,实现美化页面的效果。

CSS基本语法规则:选择器+若干属性声明

每个属性都是一个键值对,键和值之间使用:分割

键值对之间使用;分割

每个键值对可以独占一行,也可以不独占

三种CSS的写法

1.内部样式

使用style标签,直接把CSS写到HTML文件中,此时的style标签可以放在任何位置,一般建议放在head标签里。

2.内联样式

使用style属性,针对指定的元素设置样式(此时不需要写选择器,直接写属性键值对),这个时候样式只是针对当前元素生效。

内联样式

内联样式的优先级比内部样式高。

3.外部表示

把CSS代码单独作为一个.css文件,再通过link属性,让HTML引入该css文件。

在实际开发中,外部样式是最常用的。让HTML和CSS相互分离开,不相互影响。

二.CSS选择器

1.标签选择器

直接在  {  前面写标签名字,此时意味着会选中所有指定的标签。

2.类选择器

相对标签选择器而言是一个更好的选择,手动可以创建CSS类,手动可以指定哪些元素应用。(此处的类和Java 面向对象中的类无关)

CSS中所谓的类就是把一组CSS属性起了一个名字,方便别的地方引用。

定义类需要用.开头

引用这个类的时候,通过class属性=“类名”即可,不需要带.

一个类可以被一个元素引用,也可以被多个元素引用。一个元素可以引用一个类,也可以引用多个类

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><style>/* 此处定义了一个CSS类,名字就叫做one,注意,CSS类名定义的时候需要用.开头 */.one{color: red;}.two{color: green;}.three{color: blue;}</style><div class="one">这是第一个div </div><div class="two">这是第二个div</div><div class="three">这是第三个div</div></body>
</html>      

理解“层叠”

CSS:层叠样式表

一个元素可以被应用多组样式,这些样式就好像是一层一层的叠加上去的。

3.ID选择器

HTML页面中的每个元素都是可以设置一个唯一的ID作为元素的身份标识。给元素安排id之后,就可以通过id来选中对应的元素。

类选择器,是可以让多个元素应用同一个类的。

id选择器,则只能针对唯一的元素生效,因为在一个页面里,只能有唯一的id

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><style>#oneDiv{color: red;}</style><div id="oneDiv">这是第一个div</div><div id="twoDiv">这是另一个div</div>
</body>
</html>

4.后代选择器

多个简单的基础选择器组合一下(可以是标签、类、id选择器的任意组合)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><style>ul li{color: red;}</style><ol><li>aaa</li><li>bbb</li><li>ccc</li></ol><ul><li>aaa</li><li>bbb</li><li>ccc</li></ul>
</body>
</html>
</html>

注意:li只要是ul的后代即可,不一定非得是子元素

5.子选择器

也是把多个简单的基础选择器组合(标签,类,id选择器任意组合)

只是找匹配的子元素,不找孙子元素之类的。

6.并集选择器

选择器1,选择器2{

    属性.........

}

多组选择器,应用了同样的样式。

7.伪类选择器

复合选择器的特殊用法,伪类选择器选择某个元素的某个特定状态。

:hover  鼠标悬停时的状态

:   active  鼠标按下时的状态

三.CSS常用属性值

1.字体设置

字体:font-family

大小:font-size

粗细:font-weight

两种设置风格:

1.使用单词

2.使用数字

normal:正常粗细,与400等值

bold:加粗。与700等值。

ligher:比从父元素继承来的值更细

bolder:比从父元素继承来的值更粗

文字样式

2.文本属性

1.文字颜色

rgb:red green blue三种颜色的配比不同,得到的颜色也就不同。

一个颜色的取值是0~255

颜色也可以按照16进制表示

缩写形式:如果表示一种颜色的两个16进制数字相同,则可以把6位16进制数字缩写成3位

AABBCC---->ABC

eg:#ff0000   --->#f00

颜色也可以直接用单词表示:red blue green.....

2.文本对齐

靠左靠右居中,用text-align

3.文本装饰

text-decoration

4.文本缩进

实际生活中常用的说法:每个段落,首行缩进两个文字。

text-indent

单位:em

px相当于是“绝对的量”,em则是一个相对的量,是以文字尺寸为基础进行设置

2em就是缩进两个文字的距离

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<style>.one{font-size: 40px;font-family: '微软雅黑';color: rgb(40, 200, 10);text-align: left;text-decoration: none;text-indent: 2em;}.two{color: #ff0000;font-size: 60px;font-family:'宋体' ;text-align: center;text-decoration: underline;}
</style>
<body><div class="one">这是一个div<br>这是一个div Lorem ipsum dolor sit, amet consectetur adipisicing elit. Ullam esse asperiores iste, ipsam optio explicabo non nam! Quo delectus tempora, asperiores magni, iste provident reprehenderit quasi, velit quae mollitia eligendi.</div><div class="two">这是一个div</div>
</body>
</html>

正数往右缩进,负数往左缩进。

5.行高

line-height

行高=文字高度+行间距

行高:顶线到顶线的距离/底线到底线的距离

行高=文字高度+行间距

3.背景属性

背景颜色

background-color

背景图片

background-image:url(图片路径)

此时可能会有许多个相同图片平铺,如果只想要单张图片,则使用background-repeat:none

禁止平铺后图片会出现在左上角,

如果想让图片居中:background-position:center center

如果想让图片在页面靠上部分居中:background-position:top center

背景大小

background-size:长(px),宽(px)

background-size:contain   让这张图尽可能在当前页面上比较大,而且尽可能不改变图片的比例。

background-size:cover     让整个页面被图片铺满,此时可能只能看见图片的一部分。

圆角矩形

border-radius

四.元素的显示模式

display

display:block 块级元素

display:  inline行内元素

关于块级和行内元素的区别:

1.块级元素独占一行,行内元素不独占一行

2.块级元素高度,宽度,内外边距都是可以设置的;行内元素高度,宽度,行高都无效。内边距有效,外边距有时候无效

3.块级元素默认宽度是和父元素一样宽,行内元素默认和里面的内容一样宽

CSS盒子模型

任何一个HTML元素,都是一个矩形的盒子,盒子里面可以放内容(可以是文本,可以是其他元素)

1.边框

border属性,设置了四个方向

还可以使用:border-left、border-right、border-top、border-bottom

设置边框可以设置三个方面:

1.边框的粗细

2.边框的颜色

3.边框的风格(实线、虚线、其他的线)

solid:实线

dashed:虚线

dotted:由点构成的线

边框默认会撑大盒子,可能会影响该元素和其他元素的相对位置。可以使用专门的属性防止盒子被撑大。此时使用  box-sizing:border-box 就可以不让盒子撑大。

2.内边距

内容和边框之间的距离

padding-left: ~px 一个方向的内边距

padding:~px 四个方向的内边距

padding:~px ~px ~px ~px 依次表示的方向--上右下左

3.外边距

 margin-bottom:~px

margin:~px 四个方向

margin:~px ~px 上下外边距,左右外边距

margin:~px ~px ~px ~px上右下左(顺时针)

五.弹性布局

用来实现页面布局的,控制某个元素放到指定位置上。

弹性布局解决水平方向布局的问题

使用弹性布局:

1.开启弹性布局

2.设置元素的水平方向的排列

3.设置元素垂直方向的排布

align-items

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

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

相关文章

华为云云耀云服务器L实例评测 | 实例使用教学之简单使用:通过命令行管理华为云云耀云服务器

华为云云耀云服务器L实例评测 &#xff5c; 实例使用教学之简单使用&#xff1a;通过命令行管理华为云云耀云服务器 介绍华为云云耀云服务器 华为云云耀云服务器 &#xff08;目前已经全新升级为 华为云云耀云服务器L实例&#xff09; 华为云云耀云服务器是什么华为云云耀云服务…

深入理解传输层协议:TCP与UDP的比较与应用

目录 前言什么是TCP/UDPTCP/UDP应用TCP和UDP的对比总结 前言 传输层是TCP/IP协议栈中的第四层&#xff0c;它为应用程序提供服务&#xff0c;定义了主机应用程序之间端到端的连通性。在本文章&#xff0c;我们将深入探讨传输层协议&#xff0c;特别是TCP和UDP协议的原理和区别…

在 .NET 8 Release Candidate 1 中推出 .NET MAUI:质量

作者&#xff1a;David Ortinau 排版&#xff1a;Alan Wang 今天&#xff0c;我们很高兴地宣布 .NET MAUI 在 .NET 8 Release Candidate 1 中已经可用&#xff0c;该版本带有适用于生产应用程序的正式许可证&#xff0c;因此您可以放心地将此版本用于生产环境。我们在 .NET 8 中…

IDEA 2019 Springboot 3.1.3 运行异常

项目场景&#xff1a; 在IDEA 2019 中集成Springboot 3.1.3 框架&#xff0c;运行异常。 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSch…

C++之传指针、引用、vector<shared_ptr<string>>应用总结(二百三十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Spring面试题13:Spring中ApplicationContext实现有哪些?Bean工厂和Applicationcontext有什么区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring中ApplicationContext实现有哪些? 在Spring框架中,有以下几种ApplicationContext的实现: ClassPathXmlApplicationContext:从类路径下的…

算法通过村第十关-并归|黄金笔记|手撕并归排序

文章目录 前言并归排序的原理总结 前言 提示&#xff1a;有时我会担心你们发现我其实很普通。爱并不需要你与众不同。--查理麦克西《男孩、鼹鼠、狐狸和马》 并归排序算是经典的分治思想中的问题&#xff0c;这个非常典型的题目。 并归排序的原理 并归排序&#xff0c;简单来说…

Shiro高级及SaaS-HRM的认证授权

Shiro在SpringBoot工程的应用 Apache Shiro是一个功能强大、灵活的&#xff0c;开源的安全框架。它可以干净利落地处理身份验证、授权、企业会话管理和加密。越来越多的企业使用Shiro作为项目的安全框架&#xff0c;保证项目的平稳运行。 在之前的讲解中只是单独的使用shiro&…

成为吃鸡战场的王者!分享顶级战术干货,助您提高战斗力!

各位吃鸡战场的玩家们&#xff0c;欢迎来到本视频&#xff01;在这里&#xff0c;我将为您呈现一些与众不同的吃鸡干货&#xff0c;帮助您提高战斗力、轻松吃鸡&#xff01; 首先&#xff0c;让我们谈一谈作图工具推荐。绝地求生作图工具是吃鸡玩家们的必备利器。我将给大家推荐…

TikTok的伦理挑战:虚拟世界与现实世界的交汇

在数字时代&#xff0c;社交媒体平台已经不再只是一个信息传播的工具&#xff0c;它已经深刻地改变了我们的社交行为、价值观和伦理观。 而在这一领域的佼佼者之一&#xff0c;TikTok&#xff0c;正面临着伦理挑战&#xff0c;这是虚拟世界与现实世界交汇的产物。 本文将深入…

CompletableFuture-线程池运行选择

如果没有传入自定义线程池&#xff0c;都用默认线程池ForkJoinPool 传入一个线程池&#xff0c;如果你执行第一个任务时&#xff0c;传入了一个自定义线程池&#xff0c; 调用thenRun方法执行第二个任务时&#xff0c;则第二个任务和第一个任务时共用同一个线程池 调用thenRun…

Linux和本地Windows如何互传文件(sz和rz指令)

目录 关于 rzsz 注意事项 安装软件 rz的使用&#xff08;本地主机文件传到Windows中&#xff09; sz的使用(Linux中的文件传到本地Windows主机中) 关于 rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过直接拖拽的方式将文件…

计算机网络相关知识点

谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f; 这两种模型都是网络通信中重要的参考模型,他们的设计和功能有一些区别。 首先OSI&#xff0c;OSI七层模型&#xff0c;也被称为开放系统互联参考模型&#xff0c;是一种在国际标准化组织&#xff08;ISO&#xff09;中…

基于YOLOv8模型的蜜蜂目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的蜜蜂目标检测系统可用于日常生活中检测与定位蜜蜂目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…

SPA项目之主页面--Mock.js以及组件通信(总线)的运用

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于VueElementUI的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Mock.js是什么 二.为什么要使用…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切&#xff08;ROI&#xff09;功能&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的图像剪切&#xff08;ROI&#xff09;功能的技术背景CameraExplorer如何使用图像剪切&#xff08;ROI&#xff09;功…

【Linux】线程安全

线程互斥互斥相关背景概念 互斥量mutex互斥量接口初始化互斥量函数销毁互斥量互斥量加锁互斥量解锁代码模拟 互斥量实现的逻辑常见锁的概念死锁什么叫做阻塞&#xff1f;产生死锁的四个必要条件如何避免死锁 Linux线程同步同步概念与竞态条件条件变量条件变量函数代码练习 条件…

pytest之parametrize()实现数据驱动

第一个参数是字符串&#xff0c;多个参数中间用逗号隔开 第二个参数是list,多组数据用元组类型;传三个或更多参数也是这样传。list的每个元素都是一个元组&#xff0c;元组里的每个元素和按参数顺序一一对应 传一个参数 pytest.mark.parametrize(‘参数名’&#xff0c;list)…

【Spring Boot】拦截器学习笔记

一、普通拦截器 1&#xff0c;新建类MyWebConfig实现WebMvcConfigurer&#xff0c;实现addInterceptors方法 Overridepublic void addInterceptors(InterceptorRegistry registry) {registry// 不拦截哪些请求.excludePathPatterns("/login")// 拦截哪些请求.addPat…

Kubernetes 上的数据已跨越鸿沟:在 GKE 上运行有状态应用程序的案例

Kubernetes 是当今云原生开发的事实上的标准。长期以来&#xff0c;Kubernetes 主要与无状态应用程序相关&#xff0c;例如 Web 和批处理应用程序。然而&#xff0c;与大多数事物一样&#xff0c;Kubernetes 也在不断发展。如今&#xff0c;我们看到 Kubernetes 上有状态应用程…