CSS介绍

本章目标:
  1. CSS概述

  2. 三种样式表

  3. 简单选择器

  4. 复合选择器

  5. 盒子模型

  6. 常用背景样式

  7. 浮动

  8. 常用文本样式

  9. 伪类样式

  10. 列表样式

  11. 表格样式

  12. 定位

一、CSS概述:
  1. CSS:cascading style sheets-层叠样式表

  2. 专门负责对网页的美化

二、有三种使用方式(可以单用,可以混用)
  • 页面head标签中添加style标签,标签里专门写css代码(推荐)

  • 在HTML标签style属性里书写。所有HTML标签都支持,并且优先级最高

  • 通过head标签中添加link标签来引入外部css文件

根据css书写的位置

  • 内部样式表:在head标记书写一对style标记,在style标记中书写css代码,

  • 外部样式表:专门建立一个css文件,在css文件中书写css代码

    image-20220523104650405

需要在html文件的head标记中如下引用:

优点:可以在不同文件中多次引用,提高代码的复用性

  • 内嵌样式表:

三种样式表如果共存,样式冲突的情况下,遵循的是就近原则。内嵌样式表优先级最高,内部和外部要看哪一个在后,哪一个优先级就高

三、简单选择器:

三种选择器

 选择器语法: 选择器{   Css属性:css属性值;…….. }
  1. ID选择器:如果多个标记的样式各不一样,可以考虑使用ID选择器,一个选择器永远只能修饰一个标记

    #id属性值{Css属性:css属性值;……..}
  2. 标签选择器:标签名称相同的多个标记如果样式相同,可以考虑使用标签选择器。

    标签名称{   Css属性:css属性值;……..}
  3. 类选择器:非常灵活,如果标签名称不同的多个标记如果样式一样,可以考虑使用类选择器。如果多个标签的样式各不一样,页可以考虑使用类选择器。

    .自定义名称{     Css属性:css属性值;……..}<标记 class=”自定义名称”>……

三种选择器的优先级:ID》类》标

四、复合选择器
element.classp.intro选择 class=”intro” 的所有元素。
element,elementdiv, p选择所有元素和所有元素。
[element element]div p选择元素内的所有元素。
[element>element]div > p选择父元素是的所有元素。
[[attribute]][target]选择带有 target 属性的所有元素。
[[attribute=value][target=_blank]选择带有 target=”_blank” 属性的所有元素。
[[attribute^=value]]a[href^=”https”]选择其 src 属性值以 “https” 开头的每个 元素。
[[attribute$=value]]a[href$=”.pdf”]选择其 src 属性以 “.pdf” 结尾的所有 元素。
五、盒子模型

1.什么是盒子模型

同样,网页是由很多模块构成,这些模块可以看成是一个个盒子,每个模块里还分为几部分,每部分都可以看成一个小盒子,而我们把这些大大小小的盒子就叫做盒模型。

  • 元素内容

  • 填充(内边距)

  • 边框

  • 外边距

2.盒子模型由哪些属性构成的呢?

img

上面就是一个标准盒模型:

在CSS中,一个独立的盒子模型由网页内容(content)、边框(border)、内边距(padding)、外边距(margin)四个 部分组成,如下所示

  • content:代表内容区域,指存放内容的空间,文本也可以是其他的盒子

  • padding:内边距,盒子内部的空间,相当于生活中快递盒子里面的泡沫

  • border:盒子的边框,四条边框可以分别设置样式。

  • margin:盒子与盒子之间的间距(兄弟关系、父子关系)

  1. 标准盒模型的尺寸

    标准盒子模型总尺寸=border+padding+margin+内容区域

  2. 盒模型相关css属性

    大部分块级标记充当容器的角色,我们把容器想象为一个盒子,css中称为盒子模型,对于盒子模型,有一些相关的css属性如下:

    border:边框线粗细 线型 颜色 border-style: solid;/线型/ border-color: blue;/颜色/ border-width: 10px;/粗细/ border-bottom-color: blue; border-bottom-style: solid; border-bottom-width: 3px; Border -left Border -right Border -top Border -bottom border-radius:边框线弧度 Margin:边距 (上 右 下 左|上下 左右|上 左右 下) Margin-left Margin-right Margin-top Margin-bottom Padding:填充距离 (上 右 下 左|上下 左右|上 左右 下|上下左右) Padding -left Padding -right Padding -top Padding –bottom Width:宽度 Height:高度 外边距注意事项: Margin: 父子标记之间:子标记距离父标记之间的距离,对于子标记来说叫外边距 兄弟标记之间:标记之间的距离,外边距 如果父标记没有border,那么子标记的上下外边距将作用到父标记上 如果父标记有Border,就会作用到子标记上 Padding:标记的内容距离标记边框之间的距离,内容也可能是其他的标记 父子标记之间:子标记距离父标记之间的距离,对于父标记来说叫填充距离 盒模型的尺寸:内容区域+填充距离(内边距)+边框+外边距 box-sizing: content-box|border-box; content-box:我们设置的宽度或者高度仅仅指内容区域 border-box:设置的宽度或者高度包含了内容区域+填充距离(内边距)+边框线 border-radius:边框线的弧度,就是四个角所构成的圆形的半径

    /*    border-radius: 10px  20px 30px 40px;*/box-shadow: -10px 30px 20px gray;/量 *盒子阴影:水平方向偏移量  垂直方向的偏移  模糊边缘的距离 阴影的颜色*/
六、浮动

float:left|right,脱离文档流。 解决块级元素由垂直变为水平分布的问题 clear:left|both 清除浮动效果

#left{                
    width: 300px;                
    border: 1px solid black;                
    height: 500px;                
    float: left;/*浮动*/            
}            
#middle{                
    width: 594px;                
    height: 500px;                
    border: 1px solid black;                
    float: left;            
}           
#right{                
    width: 300px;                
    height: 500px;                
    border:  1px solid black;                
    float: left;            
}
七、背景样式

Background-color:背景色

Background-image:背景图片

background-repeat:no-repeat ;/背景的平铺方式/

background-size:1200px 200px ;背景大小

background-position: center;背景位置

height: 200px;
border: 1px solid black;
/*background-color: papayawhip;*//*背景色*/
background-image: url(img/banner.jpg);
background-repeat: no-repeat;/*平铺方式 repeat-x|repeat-y|no-repeat*/
background-size: 50px 50px;/*背景尺寸:宽  高*/
background-position: center bottom;/*背景图片的位置:left|center|right|left top|left bottom|center top|center bottom|right top|right bottom*/
八、文本样式

Color:字体颜色

Font-size:字体大小

Font-family:字体类型

Font-weight:字体粗细(100~900 |bold(700))

Text-decoration:文字的修饰线 :underline|overline|line-through|none

text-align:left|center|right

line-height:行高

#bannaer a{    
    color: white;    
    font-size: 16px;/*字体大小*/    
    font-weight:bold ;/*字体粗细:100-900,bold(700)*/    
    font-family:"黑体" ;/*字体*/    
    text-decoration: none;/*underline|overline|line-through*/}
#bottom{    
    height: 50px;    
    border: 1px solid black;    
    /*float: left;*//*div浮动之后,宽度变为自适应内容*/    
    clear: left;/*清除浮动效果*/    
    width: 1200px;    
    background-color: ghostwhite;    
    text-align: center;/*只针对容器中的文本或者行内标记*/    
    line-height: 50px ;/*行高:行高设置成和div的高度一致,可以实现垂直居中*/
}
九、伪类
  1. 伪类定义

    伪类 是添加到选择器的关键字,指定要选择的元素的特殊状态

    可以让一个标记在不同的浏览器动作下呈现出不同的样式

  2. 伪类名称(前四个重点)

    link:伪类名称,表示超链接未被访问的时候

    hover:鼠标悬停的时候

    active:鼠标处于激活状态的时候

    visited:链接被访问过后

    after:标签内容之后插入内容

    before:标签内容之后插入内容

  3. 伪类语法

    选择器:伪类{

    }

  4. 伪类实例

    p:after

    {

    content:”台词:-“;

    background-color:yellow;

    color:red;

    font-weight:bold;

    }

    p:before

    {

    content:”台词:-“;

    background-color:yellow;

    color:red;

    font-weight:bold;

    }

十、列表样式

list-style-type:项目符合的类型

list-style-image:设置小图标

#left ul{    
    list-style-type: none;    
    list-style-image:url(img/1.gif) ;   
    width: 160px;
}
十一、表格样式

Border-spacing:表单单元格间距

Border-collapse:collapse(合并)|seperate(默认,不合并) 边框线合并

vertical-align:垂直居中 top|middle|bottom

#middle table{    
    width: 300px;    
    height: 300px;    
    margin: 0px auto;    
    border: 1px solid blue;   
    border-collapse: separate;/*设置表格边框线重叠*/    
    border-spacing: 10px;/*表格单元格的间距*/}
#middle table td{    
    border: 1px solid blue;    
    text-align: center;    
    vertical-align: top;/*针对单元格设置垂直居中*/    
    padding: 20px;
}
十二、定位

定位相关css属性:

position:relative|absolute

相对定位:相对于自身的默认位置的偏移,配合left top right bottom使用

绝对定位:脱离文档流,如果父标记设置过绝对定位或者相对定位,指在父标记中的绝对位置,如果父标记没有设置,在网页中的绝对位置,配合left top right bottom使用

应用场景:在局部内容中实现重叠效果,可以考虑使用相对或者绝对定位

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

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

相关文章

JavaScript中的常见算法

一.排序算法 1.冒泡排序 冒泡排序比较所有相邻的两个项&#xff0c;如果第一个比第二个大&#xff0c;则交换它们。元素项向上移动至 正确的顺序&#xff0c;就好像气泡升至表面一样。 function bubbleSort(arr) {const { length } arrfor (let i 0; i < length - 1; i)…

leetcode:55.跳跃游戏

1.解题思路&#xff1a;贪心算法看最大覆盖范围 2.模拟过程&#xff1a; 1.若数组长度等于1&#xff0c;直接返回True 2.循环遍历覆盖范围&#xff0c;选取最大的覆盖范围&#xff1b;若覆盖范围覆盖到了最后一个元素&#xff0c;直接返回true. 3.代码&#xff1a;(贪心无套…

【医学大模型 知识增强】SMedBERT:结构化语义知识 + 医学大模型 = 显著提升大模型医学文本挖掘性能

SMedBERT&#xff1a;结构化语义知识 医学大模型 显著提升医学文本挖掘任务性能 名词解释结构化语义知识预训练语言模型医学文本挖掘任务 提出背景具体步骤提及-邻居混合注意力机制实体嵌入增强实体描述增强三元组句子增强 提及-邻居上下文建模域内词汇权重学习领域自监督任务…

Servlet JSP-Eclipse安装配置Maven插件

Maven 是一款比较常用的 Java 开发拓展包&#xff0c;它相当于一个全自动 jar 包管理器&#xff0c;会导入用户开发时需要使用的相应 jar 包。使用 Maven 开发 Java 程序&#xff0c;可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在 Eclipse 里安装和配置 Maven 插…

基于STM32与FreeRTOS的四轴机械臂项目

目录 一、项目介绍 二、前期准备 1.硬件准备 2.开发环境 3.CubeMX配置 三、裸机各种模块测试 1.舵机模块 2.蓝牙模块 3.按键摇杆传感器模块和旋钮电位器模块 4.OLED模块 5.W25Q128模块 四、裸机三种控制测试 1.摇杆控制 2.示教器控制 3.蓝牙控制 五、裸机与Free…

MATLAB 1:基础知识

MATLAB中的数据类型主要包括数值类型、逻辑类型、字符串、函数句柄、结构体和单元数组类型。这六种基本的数据类型都是按照数组形式存储和操作的。 MATLAB中还有两种用于高级交叉编程的数据类型&#xff0c;分别是用户自定义的面向对象的用户类类型和Java类类型。 1.1.1数值类…

python算法之 Dijkstra 算法

文章目录 基本思想&#xff1a;步骤&#xff1a;复杂度&#xff1a;注意事项&#xff1a;代码实现K 站中转内最便宜的航班 Dijkstra 算法是一种用于解决单源最短路径问题的经典算法。该问题的目标是找到从图中的一个固定顶点&#xff08;称为源点&#xff09;到图中所有其他顶点…

Linux_进程概念

硬件系统 软件系统 进程概念 进程状态 孤儿进程 进程优先级 一.硬件系统 1.1 冯诺依曼体系结构 数学家冯诺依曼提出了计算机制造的三个基本原则&#xff0c;即采用二进制逻辑、程序存储执行以及计算机由五个部分组成&#xff08;运算器、控制器、存储器、输入设备、输出设备&a…

例39:使用List控件

建立一个EXE工程&#xff0c;在窗体上放一个文本框&#xff0c;一个列表框和三个按钮输入如下的代码&#xff1a; Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)List1.AddItem(Text1.Text)End SubSub Form1_Command2_BN_Clicked(hWndForm As hWnd, h…

【教程】C++语言基础学习笔记(七)——Array数组

写在前面&#xff1a; 如果文章对你有帮助&#xff0c;记得点赞关注加收藏一波&#xff0c;利于以后需要的时候复习&#xff0c;多谢支持&#xff01; 【C语言基础学习】系列文章 第一章 《项目与程序结构》 第二章 《数据类型》 第三章 《运算符》 第四章 《流程控制》 第五章…

服务流控(Sentinel)

引入依赖 <!-- 必须的 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency><!-- sentinel 核心库 --> <dependency><groupId>com.ali…

Rust入门:如何在windows + vscode中关闭程序codelldb.exe

在windows中用vscode单步调试rust程序的时候&#xff0c;发现无论是按下stop键&#xff0c;还是运行完程序&#xff0c;调试器codelldb.exe一直霸占着主程序不退出&#xff0c;如果此时对代码进行修改&#xff0c;后续就没法再编译调试了。 目前我也不知道要怎么处理这个事&am…

npm报错之package-lock.json found. 问题和淘宝镜像源过期问题

1、package-lock.json found. 问题的解决 在执行yarn add react-transition-group -S 安装react-transition-group时出现package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in orde…

Gitee的使用教程(简单详细)

1.安装git&#xff08;我的电脑自带git&#xff0c;我没弄这步QAQ&#xff09; Git (git-scm.com)https://git-scm.com/ 安装好后在桌面点击鼠标右键会出现git GUI 和 git Bash&#xff08;没有的话点击显示更多选项&#xff09; 2.去gitee上注册一个账号 工作台 - Gitee.co…

Hive的Join连接

前言 Hive-3.1.2版本支持6种join语法。分别是&#xff1a;inner join&#xff08;内连接&#xff09;、left join&#xff08;左连接&#xff09;、right join&#xff08;右连接&#xff09;、full outer join&#xff08;全外连接&#xff09;、left semi join&#xff08;左…

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢?

耳机壳UV树脂制作私模定制耳塞适合以下人群使用&#xff1a; 对音质要求高的人&#xff1a;私模定制耳塞能够完美契合用户的耳朵形状&#xff0c;减少漏音和外部噪音的干扰&#xff0c;提供更好的音质体验。需要长时间佩戴耳机的人&#xff1a;私模定制耳塞能够提高佩戴舒适度…

【Django】Django内建用户系统

Django内建用户系统 14.1 Django中的用户认证 Django带有一个用户认证系统系统&#xff0c;它处理用户用户账号、组、权限以及基于cookie的用户会话。 用户可以直接使用Django自带的用户表。 官方文档&#xff1a;https://docs.djangoproject.com/zh-hans/2.2/topics/auth/ …

C语言—基础数据类型(含进制转换)

进制转换不多&#xff0c;但我觉得适合小白(我爱夸自己嘿嘿) 练习 1. 确认基础类型所占用的内存空间(提示&#xff1a;使用sizeof 运算符)&#xff1a; 在这里我说一下&#xff0c;long 类型通常占用 4 字节。在 64 位系统上&#xff0c;long 类型通常也可为 8 字节。 格式…

部署JForum2过程。

居然用了两天时间&#xff0c;才把JForum2部署成功。走了一些弯路&#xff0c;主要原因是想当然&#xff0c;以为jdk和tomcat&#xff0c;应该向下兼容&#xff0c;所以就随便选的版本。 一、jdk-17、apache-tomcat-10.1.18-windows-x64&#xff0c;部署完jforum-2.8.2.war,改…

海量数据处理商用短链接生成器平台 - 4

第六章 架构核心技术-池化思想-异步结合 性能优化最佳实践 第1集 RestTemplate里面的存在的问题你知道多少- Broken pipe错误 项目就更新到第六章了&#xff0c;剩下的内容 放百度网盘里面了&#xff0c;需要的来取。 链接&#xff1a;https://pan.baidu.com/s/19LHPw36dsxPB7…