CSS(简)

2023-11-10

CSS

CSS概述

  • CSS是 Cascading Style Sheets(级联样式表)

  • CSS是一种样式表语言,用于为HTML文档控制外观,定义布局。例如,CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面。

  • 可将页面的内容与表现形式分离,页面内容存放在HTML文档中,而用于定义表现形式的CSS在一个 .css 文件中或HTML文档中的某一个部分。

  • CSS与HTML的关系

    HTML是网页内容

    CSS定义页面的样式

基本语法

行内样式表

  • 行内样式表,又有人称内联样式、行间样式、内嵌样式。是通过标签的style属性来设置
    元素的样式,其基本语法格式如下:
    <标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>

在这里插入图片描述

内嵌样式表

  • 内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义

在这里插入图片描述

外部样式表

  • 外部样式表是将所有的样式放在一个或多个以.CSS为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中。

在这里插入图片描述

选择器

  • 要使用CSS对HTML页面中的标签实现一对一,一对多的控制,这就需要用到CSS选择器。

  • 常用的选择器:

    • 标签选择器:通过标签选择器可以选择页面中的所有指定标签

      语法:标签名{}

      类选择器:通过标签class属性值选中一组标签

      语法:.class属性值{}

      id选择器:通过标签的id属性值选中唯一的一个标签

      语法:#id属性值{}

      选择器组合:通过选择器分组可以同时选中多个选择器对应的标签

      语法:选择器1,选择器2,选择器N{}

      通配选择器:可以用来选中页面中的所有标签

      语法:*{}

文本,背景,列表,伪类,透明

文本

  • color:字体颜色
  • font-size:字体大小
  • font-family:字体
  • text-align:文本对齐
  • text-decoration:line-through:定义穿过文本下的一条线
  • text-decoration:underline:定义文本下的一条线
  • text-decoration:none:定义标准的文本
  • font-style:italic; 斜体文本
  • font-weight:字体粗细
  • line-height:设置行高
  • letter-spacing 可以指定字符间距
  • text-indent 用来设置首行缩进

背景

  • background-color背景颜色
  • background-image背景图片
  • background-repeat背景重复
  • background-size背景尺寸
  • background- position 背景位置

CSS列表

  • CSS 列表属性可以放置、改变列表项标志,或者将图像作为列表项标志 。
  • list-style-image 将图象设置为列表项标志。
  • list-style-position 设置列表中列表项标志的位置。
  • list-style-type 设置列表项标志的类型。
  • list-style 简写属性。

CSS伪类

  • CSS伪类专门用来表示标签的一种的特殊的状态,当我们需要为处在这些特殊状态的标签设置样式时,就可以使用伪类

  • 伪类的语法:

    :hover 伪类表示鼠标移入的状态

    :active表示的是被点击的状态

    :foucus向拥有键盘输入焦点的标签添加样式

透明

  • 定义透明效果的属性是opacity

    opacity 属性设置标签的不透明级别 值为1。
    规定不透明度:从 0.0 (完全透明)到 1.0(完全不透明)。

块级,行级,行级块标签,display属性

  • 什么是块级标签?

    块级标签:无论内容多少,都会独自占据一行的。

    例如<p>、<h1>、<ul>、<ol>、<hr/>

  • 什么是行级标签?

    行级标签:只占自身大小的标签,不会占一行。

    例如<font>、<b>、<i>、<a>等。

  • 什么是行级块标签

    例如<input/> <img>

    ​ 注意: 一般情况下使用块级标签包含行级标签,不使用行级标签包含块标签。
    ​ a可以包含任何标签,除去a本身;
    ​ p标签不可以包含任何的块标签。

Display

  • 通过display样式可以修改标签的类型。

    可选值:

    block : 设置标签为块标签

    inline : 设置标签为行级块标签

    none: 隐藏标签(标签将在页面中完全消失)

div和span

div标签

  • div是块级标签,可以放置任何标签。
  • div没有任何附加功能,给了什么属性就变成什么样
  • div主要的作用是被用来布局网页。

span标签

  • span标签是行级标签
  • span没有任何附加功能,给了什么属性就能编程什么样
  • span标签被用来选中文档中的文字

盒子模型,内边距,边框,外边距

盒子模型(box-model)

  • CSS处理网页时,他认为每个标签都包含在一个不可见的盒子中

  • 如果把所有的标签都想成盒子,那么我们对网页的布局就相当于摆放盒子

  • 我们只需要将相应的盒子摆放到网页中相应的位置即可完成网页的布局。

  • 一个盒子会分为以下几个部分:

    内容区(content)

    内边距(padding)

    边框(border)

    外边距(margin)

    在这里插入图片描述

内容区
  • 内容区指的是盒子中放置内容的区域,也是标签中的文本内容,字标签都是存在于内容区中的。
  • 如果没有标签设置内边距和边框,则内容大小默认和盒子大小是一致的。
  • 通过width和height两个属性可以设置内容区的大小而不是整个盒子的大小。
  • width和height属性只适用于块标签(包含行级块)
内边距
  • 顾名思义,内边距指的就是标签内容区与边框以内的空间。

  • 内边距会影响整个盒子的大小。

    使用padding属性来设置变迁的内边距

    例如:

    padding-left : 10px;
    padding-right : 10px;
    
    //这样会依次设置标签的上、右、下、左四个方向的内边距
    padding : 10px 20px 30px 40px。
    
边框
  • 可以在标签周围创建边框,边框是可见框的最外部。

    可以使用border属性来设置盒子的边框:

    //指定了边框的宽度、颜色和样式
    border:1px red solid;
    //也可以使用border-top/left/right/bottom分别指定上右下左 四个方向的边框
    

  • 边框可以设置样式:

    dotted(点线) dashed(虚线) solid(实线)double(双线)groove(槽线)

    border-radius:设置四个角为圆角边框

    border-top-left-radius:设置左上为圆角边框

  • 外边距是标签边框与周围标签相距的空间。使用margin属性可以设置外边距,用法与padding类似,同样可以对四个方向进行设置。

    margin-top/right/bottom/left

    magin的值可以为负值

    magin的值可以auto,设置外边距为最大值,当将左右外边距设置为atuo时,浏览器会将左右外边距设置为相等。

    垂直设置为auto时值为0,所以水平居中也可以简写为magin:0 auto。

  • 外边距不会影响盒子整体大小,但会影响盒子的位置,会影响盒子的实际控制范围

清除浏览器的默认样式

  • 浏览器为了在页面中没有样式时,也可以有一个比较好的显示效果,所
    以为很多的标签都设置了一些默认的margin和padding,而它的这些默
    认样式,正常情况下我们是不需要使用的。

    所以我们往往在便携样式之前需要将浏览器中的默认的margin和padding全部去掉。

*{
	margin: 0;
	padding: 0;
}

文档流----浮动,定位

文档流

  • 文档流指的是文档中的标签在排列时所占用的位置。 将窗体自上而下分
    成一行行 ,并在每行中按从左至右的顺序排放标签,即为文档流
  • 也就是说在文档流中标签默认会紧贴到上一个标签的右边,如果右边不
    足以放下标签,标签则会另起一行,在新的一行中继 续从左至右摆放。
  • 这样一来每一个块标签都会另起一行,那么我们如果想在文档 流中进行
    布局就会变得比较麻烦。

浮动

  • 当一个标签浮动以后,其下方的标签会上移。
  • 浮动会使标签完全脱离文档流,也就是不再在文档中占用位置标签。标签浮动以后即完全脱离文档流,这时不会在再影响父标签的高度。也就是浮动标签不会撑开父标签。

在这里插入图片描述

清除浮动

  • clear属性 可以用于清除标签周围的浮动对标签的影响,其他标签的位置不发生变化

    可选值:

    left:忽略左侧浮动

    right:忽略右侧浮动

    both:忽略全部浮动

CSS定位

概念
  • 定位的基本思想很简单,它允许定义的标签相对于其正常的位置,或者相对于父标签、另一个标签甚至浏览器窗口的本身而出现的位置。
相对定位(relative)
  • 相对定位是一个非常容易掌握的概念. 相对于它的起点进行移动,移动后原来的位置还被占用。
    可以通过position:relative; 开启相对定位,left right top bottom四个属性来设置标签的偏移量。

在这里插入图片描述

相对定位的特点

  • 当标签的position属性设置为relative时,则开启了标签的相对定位
    1.当开启了标签的相对定位以后,而不设置偏移量时,标签不会发生任何变化
    2.相对定位是相对于标签在文档流中原来的位置进行定位
    3.相对定位的标签不会脱离文档流
绝对定位(absolute)
  • 绝对定位是不占空间的,运用了绝对定位的标签会脱离原来的文档流,浮动起来,因此视觉上会与其他的标签重叠
  • 可以通过position: absolute; 开启绝对定位,left right top bottom四个属性来
    设置标签的偏移量。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GqARxjP-1659188611612)(C:\Users\dell\Desktop\自写笔记\暑假笔记\CSS\c7.png)]

  • 绝对定位的特点
    1.开启绝对定位,会使标签脱离文档流
    2.开启绝对定位以后,如果不设置偏移量,则标签的位置不会发生变化
    3.绝对定位是相对于离他最近的开启了定位的祖先标签进行定位(一般情况,开启了子标签的绝对定位都会同时开启父标签的相对定位)
    如果所有的祖先标签都没有开启定位,则会相对于浏览器窗口进行定位
    4.绝对定位会使标签提升一个层级

,因此视觉上会与其他的标签重叠

  • 可以通过position: absolute; 开启绝对定位,left right top bottom四个属性来
    设置标签的偏移量。

在这里插入图片描述

  • 绝对定位的特点
    1.开启绝对定位,会使标签脱离文档流
    2.开启绝对定位以后,如果不设置偏移量,则标签的位置不会发生变化
    3.绝对定位是相对于离他最近的开启了定位的祖先标签进行定位(一般情况,开启了子标签的绝对定位都会同时开启父标签的相对定位)
    如果所有的祖先标签都没有开启定位,则会相对于浏览器窗口进行定位
    4.绝对定位会使标签提升一个层级
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS(简) 的相关文章

  • 如何修复“没有这样的文件或目录,lstat 'scss/'”?

    我正在尝试遵循 youtube 上的简单教程他尝试使用终端运行 npm 脚本 sass 文件 当我执行命令时npm 运行 sass显示错误消息错误 ENOENT 没有这样的文件或目录 lstat scss 我认为问题在于文件的路径或文件的权
  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 理解 z-index:该元素如何出现在其父级同级元素的前面?

    为什么当我删除时红色 div 位于绿色 div 前面z index from wrapperRed 感觉像z index是沿着链条向上继承的 如果我改变z index将绿色 div 更改为 6 即使删除第一句中描述的行后 它仍保留在红色 d
  • 在 ember-cli 中安装 Foundation 5

    我对 ember 相当陌生 对构建工具也很陌生 我目前正在使用通常的基础安装以及基础 cli 和指南针来编译我的 css 这有点痛苦 并且对于团队工作来说非常糟糕 我认为用 Bower 安装文件并使用会更好ember cli compass
  • Sass:@use 出错,未定义变量

    我正在使用 Sass 并且想要使用 use关键字而不是 import 因为 import有很多问题 另外只有dart sass支持这个功能 我将node sass改为dart sass 然而 问题出现了 我原来的代码 import carb
  • CSS 继承、别名和其他很酷的东西

    有一天 我随机浏览网页 发现了一些程序 可以让你编写 CSS 别名和其他很酷的东西 我现在不记得了 举个例子 我记得你可以这样做 myclass background color red greenfont 其中 greenfont 在其他
  • 删除 IE9 边缘周围的 2px 灰色边框

    我正在尝试对这个网站进行编码 尝试关键字 并且我正在尝试找出如何删除这个阴影2px灰色边框延伸到 IE9 窗口的内部 至少顶部 左侧和底部 我的边距设置为零 因此所有页面元素都到达页面的最边缘 但使用 IE9 它们会停在这个灰色边框处 我没
  • 具有 100% 高度行和 Internet Explorer 9 的表格

    我有以下示例 div style height 150px background color AAAAFF div
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • css3按钮背景颜色无限过渡

    有没有办法仅使用 css3 使按钮的背景颜色从灰色渐变为蓝色 然后又回到灰色 一个很好的例子是默认操作按钮是可可 我知道这可以在 javascript 中完成 但我宁愿只使用 css 来完成此操作 您好 我已经通过 CSS3 动画制作了按钮
  • jQuery 生成 div 和碰撞检测

    所以我的学校作业项目快要结束了 我只是错过了两件我似乎无法弄清楚的主要事情 1 如何生成具有随机位置的间隙的管道障碍物 以便鸟可以飞过 尝试使用一个函数来更改间隙位置的管道 div 的 css right attr 并在以下情况下移除管道它
  • 使用反增量更改 z-index

    我尝试制作一个图像滑块 当鼠标悬停在一个点上时 它将显示图片 我也尝试使用在图像之间切换z index但什么也没动 slider counter reset index 1000 slider input name slide switch
  • Safari 中的 css3 边框半径动画过渡不起作用

    尝试在 Safari 中对图像的边框半径进行 css3 轻松过渡 它只是有点闪烁进入悬停状态 而不是平滑过渡 任何帮助深表感谢 我的代码如下 CSS all a hover img webkit border radius 50 moz b
  • 最大宽度调整以适应文本?

    不是最好的标题 但无论如何 我有一个元素max width和一些文字 如果文本长度超过一行所能容纳的长度 我会得到以下结果 My text here hello everyone 换句话说 它占据了完整的最大宽度 但由于单词向下移动 右侧有
  • Angular - CSS - 自定义类型=文件输入,如何使用按钮而不是标签?

    我制作了一个类型为 file 的自定义输入字段 因为我不喜欢默认的输入字段 为了实现这一目标 我做了
  • 为什么 IE8 在我的图像锚标记上添加底部边框?

    我知道 这很可悲 但今天早上 IT 刚刚在我的机器上安装了 IE8 我立刻遇到了一个明显的问题 尽管我知道答案就在我面前 但我已经把它搞砸了太久了 首先 这是网站 www mchenry edu http www mchenry edu 在
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这

随机推荐

  • sklearn库中的标准数据集及基本功能

    sklearn库 sklearn是scikit learn的简称 是一个基于Python的第三方模块 sklearn库集成了一些常用的机器学习方法 在进行机器学习任务是 并不需要实现算法 只需要简单的调用sklearn库中提供的模块就能完成
  • 双端链表的增加,删除,修改,遍历操作的实现

    package com yg linkedList author GeQiLin date 2020 2 21 13 46 public class DoubleLinkedListDemo public static void main
  • PCB电路板原理图中VCC、VDD、VEE、VSS、VBAT各表示什么意思?

    PCB电路板原理图中VCC VDD VEE VSS VBAT各表示什么意思 一 名词解析 1 VCC C circuit 表示电路的意思 即接入电路的电压 2 VDD D device 表示器件的意思 即器件内部的工作电压 3 VSS S
  • linux 多块磁盘挂一个文件夹,Linux单目录挂载多块磁盘

    Linux将多块磁盘挂载到一个目录 特此记录 方便以后使用 服务器需要保存大量图片 内含4块2T的磁盘 需要将磁盘挂载到影像目录 单块磁盘挂载比较简单 创建分区 格式化分区 挂载 同一目录无法重复挂载 后挂载的会覆盖之前挂载的磁盘 但是现在
  • python强化学习--gym安装与使用

    最近开始学习强化学习 第一步肯定是要学会安装和使用pym 原本以为很简单 事实上确实很简单 但是遇到一个小问题 就是安装gym之后 在应用的过程中 游戏界面没有显示出来 了解后才知道是gym版本不对 一种可用的版本匹配是 python 3
  • 前端面试题汇总

    总结一下前端面试官会经常问到的一些面试题 目录 总结一下前端面试官会经常问到的一些面试题 一阶段 HTML5 CSS3 隐藏页面中某个元素的办法 区别 请说明 px em rem vw vh rpx 等单位的特性 什么是 BFC 盒子模型总
  • JAVA课程设计(小游戏贪吃蛇)完整源码附素材(一)

    JAVA课程设计 小游戏贪吃蛇 完整源码附素材 一 JAVA课程设计 小游戏贪吃蛇 完整源码附素材 二 JAVA课程设计 小游戏贪吃蛇 完整源码附素材 三 文章目录 前言 一 任务描述 1 1 课程设计目的 1 2 课程设计内容和要求 二
  • 设计一个回合制战斗系统Combat(C++)

    C 设计一个回合制战斗系统Combat 目录 C 设计一个回合制战斗系统Combat 题目 重要提醒 Soldier类 Wizard类 Master类 Warsystem类 题目 设计和实现回合制战斗系统Combat 1 Soldier战士
  • Weex学习第二篇:Hello world

    曾经何时 我以为学习一门语言或者是新技术 只要能写出Hello world 就算是学会了 这个思想困扰了我很久 以至于之前整理电脑的时候发现php python ruby phonegap react native go node js n
  • Windows中的WSL2(子系统)开机启动配置

    常规做法 通常在Linux中开机启动可以通过 1 编辑 etc rc loacl 2 在 etc init d 下添加启动脚本 3 配置systemd 但这几种方式在子系统中无法使用 我们可以通过Windows 间接的启动子系统中的服务 在
  • C#基础(json解析)

    json是一种轻量级的数据交换格式 采用完全独立于语言的文本格式 易于解析和生成 在c 中 解析json数据通常是利用vs中自带的litjson包 然后进行解析 首先新建一个文本文件 创建一个json数据 如下 id 1 name 寄生者
  • Jenkins学习笔记第九篇pipeline 接口自动化持续集成测试

    Scripts Pipeline 基于groovy的语法 Declarative pipeline V2 5之后引入 结构化方式 script pipeline书写形式如下 node def mvnHome stage Preparatio
  • secureCRT 登录Ubuntu20.04提示Key exchange failed. No compatible key exchange method

    问题描述 之前在Ubuntu18 04上按照博客文章 ubuntu18 04系统搭建以及配置 配置ssh 登录是没有问题的 但最新新的项目需要安装Ubuntu20 04 在安装了ubuntu20 04后 以前老版本的secureCRT通过s
  • springboot2.x redis Lettuce版本使用时报错

    springboot2 x redis Lettuce版本使用时报错 springboot2 x redis使用时报错 原因 解决方法 springboot2 x redis使用时报错 原因 在springboot2 x 以后 官方默认使用
  • Unity中行星和恒星的旋转——Rotate和RotateAround

    Unity中的旋转 以行星环绕为例 实现效果 一 与之相关的两种旋转方式 1 Rotate 2 transform RotateAround 二 行星案例的实现 Step1 我们先在场景中创建一个球体 并将它放大作为被环绕的恒星 我这里自己
  • 范数的数学意义

    L0 L1 L2范数的数学意义 如有不当 敬请斧正 Tips 范数所表示的一些数学意义 众数 中位数 均值 A mathcal A A L0范数 求L0范数最小时 表示的是数据中的众数modes 假设
  • 家里电脑dnf无线连接服务器,win7系统dnf正在连接服务器的解决方法

    我们在操作win7系统电脑的时候 常常会遇到 2 关闭后点击 开始游戏即可正常进入游戏 出现这样的现象是由于当前win7系统电脑与dnf游戏服务器连接失败导致的 这个问题早在以往就会有发生 但是到了跨区合并游戏大区后问题又被进一步放大了 和
  • windows一键安装mysql脚本bat

    下载需要的zip版本的mysql压缩文件 解压 在bin目录创建mysql init bat 复制内容保存 cd dp0 cd del cd my ini echo 删除完成 echo mysqld gt gt my ini echo 设置
  • python接收mysql语句进行查询

    mysql语句作为外部参数传入进行查询 最近在做自动化测试时遇到一个问题 需要将sql语句传入python脚本里面进行查询 支持不同类型的sql语句 只需在外部修改sql语句就可以进行mysql的增删改查 代码 coding utf 8 i
  • CSS(简)

    CSS CSS概述 CSS是 Cascading Style Sheets 级联样式表 CSS是一种样式表语言 用于为HTML文档控制外观 定义布局 例如 CSS涉及字体 颜色 边距 高度 宽度 背景图像 高级定位等方面 可将页面的内容与表