CSS学习笔记二

CSS学习笔记二


前言

继续学习CSS的知识


一、盒模型

所有的​HTML元素​都可以被认为是​盒子​。CSS盒模型代表网站的设计和布局。
它由​外边距​​(margin)​,​边框​​(border)​,​​内边距(填充)​​(padding)​​和​实际内容(content)​组成。
属性以​顺时针的​顺序工作​:顶部​(top)​,右侧​(right)​,底部​(bottom)​和左侧​(left)​

1.1. 元素的总宽度和高度

CSS通过盒模型来确定一个元素的​大小​以及如何​放置它们​。盒模型允许我们在​其它元素​和​周围元素边框​之间的​空间​放置元素

当您指定一个 CSS 元素的​宽度​和​高度​属性时,你只是设置​内容区域​的​宽度​和​高度​。要知道,完整大小的元素,你还必须添加内边距,边框和边距。

最终元素的​总宽度​和高度计算公式如下:

  1. ​总元素的宽度​​=宽度+左填充+右填充+左边框+右边框+左边距+右边距

  2. 总元素高度​ = 高度 + 顶部填充 + 底部填充 + 顶部边框 + 底部边框+ 顶部边距 + 底部边距

在盒模型中​设置背景颜色​时,将覆盖​内容区域以及填充区域(padding)

1.2. border属性

语法:border: border-width | border-style | border-color

CSS的​border​属性允许自定义HTML元素的​边框​。为了向元素添加边框,您需要指定边框的​大小​,​样式​和​颜色​。

  1. border-style属性

border-style的默认值是​none​,它没有定义边界。边框样式属性支持各种样式:​点状(dotted)​,​虚线(dashed)​,​双线(double)​,​solid(实线)

在CSS中,可以使用以下属性为​不同的边​指定​不同的边框​:

​border-top-style​: 上边框
​border-right-style​: 右边框
​border-bottom-style​: 下边框
​border-left-style​: 左边框

  1. border-width属性
    border的属性可以单独设置。​ border-width​属性指定​边框的宽度​。

  2. border-color属性
    可以使用颜色​名称关键字​,​RGB​或​十六进制值​定义元素的边框颜色

1.3. height和width属性

这里注意不要和​盒模型​的总宽度和高度弄混

元素的​宽度​和​高度​也可以使用​百分比​来分配.

要设置元素的​最小​和​最大高度​或者​宽度​,可以使用以下属性:
​min-width​ - 元素的最小宽度
​min-height ​- 元素的最小高度
​max-width ​- 元素的最大宽度
​max-height​ - 元素的最大高度

二、背景属性

2.1. background-color属性

用于指定元素的​背景颜色​。

​background-color​属性为元素设置一种​纯色背景​。这种颜色会填充元素的​内容​、​内边距​和​边框区域​,扩展到元素边框的​外边界​(但不包括外边距)。如果边框有​透明部分​(如虚线边框),会透过这些透明部分显示出​背景色​。

​可以使用​三种​不同的格式的参数来定义:

​颜色名称关键词​:red、blue等;
​十六进制值​:#fff、#000、#6e6e6e等;
​RGB​:rgb(255,255,255)、rgba(0,0,0,0.5)等(使用rgba可以实现​透明背景色​)

2.2. background-image属性

background-image​属性在元素中设置​一个​或​多个​​背景图像​

语法:background-image : ​url​(图片路径)

2.3. background-repeat属性

background-repeat​属性指定如何​重复​背景图像。
背景图像可以沿​水平轴​,​垂直轴​,两个轴​重复​,或者根本​不重复​。

​background-repeat​属性设置或检索对象的背景图像如何​铺排填充​。必须先指定​background-image​属性。

允许提供​2个参数​,如果提供全部2个参数,第1个用于​横向​,第二个用于​纵向​。

如果只提供​1个​参数,则用于​横向​和​纵向​。特殊值repeat-x和repeat-y除外,因为repeat-x相当于repeat no-repeat,repeat-y相当于no-repeat repeat,即其实​repeat-x​和​repeat-y​等价于提供了​2个参数值​。

repeat的取值如下:
​repeat​:背景图像在横向和纵向平铺,默认值。
​repeat-x​:背景图像在横向上平铺。
​repeat-y​:背景图像在纵向上平铺。
​no-repeat​:背景图像不平铺。
​round​:背景图像自动缩放直到适应且填充满整个容器。(CSS3)
​space​:背景图像以相同的间距平铺且填充满整个容器或某个方向(CSS3)

当将​background-repeat​属性设置为​inherit​时,它将采用与元素父级的属性相同的指定值。

2.4. background-attachment属性

background-attachment​属性设置背景图像是​固定​的还是与​页面的其余部分一起滚动​。

background-attachment​属性的参数:
​scroll​:默认值。背景图像会随着页面其余部分的滚动而移动。
​fixed​:当页面的其余部分滚动时,背景图像不会移动。
​inherit​:规定应该从父元素继承 background-attachment 属性的设置。

三、CSS属性

3.1. 列表样式

CSS列表属性允许我们设置不同的列表项标记。 在HTML中,有​两种类型​的列表:​无序列表​(< ul >) 、有序列表​(< ol >)

使用CSS,列表可以进一步风格化,图像可以用作列表项标记。其中一种方法是使用​list-style-type​属性,来设置列表的标签。具体设置如下:

​none​:无标记

​disc​:默认,标记是实心圆

​circle​:标记是空心圆。

​square​:标记是实心方块。

​decimal​:标记是数字。

​decimal-leading-zero​:0开头的数字标记。(01, 02, 03, 等。)

​lower-roman​:小写罗马数字(i, ii, iii, iv, v, 等。)

​upper-roman​:大写罗马数字(I, II, III, IV, V, 等。)

​lower-alpha​:小写英文字母The marker is lower-alpha (a, b, c, d, e, 等。)

​upper-alpha​:大写英文字母The marker is upper-alpha (A, B, C, D, E, 等。)

还有其他列表属性,如:

​list-style-image​ : 图像设置为列表中的项目标记。
​list-style-position ​: 指定标记框的位置(属性值包括:​inside​, ​outside​),"list-style-position: outside"是默认值。

list-style​属性是设置​list-style-type​,​​list-style-position​和list-style-image​的简写属性。
它用于在一个声明中设置所有的列表属性:

ul {
   list-style: square outside none;
}

/*未简化版*/
ul {
   list-style-type: square;
   list-style-position: outside;
   list-style-image: none;
}

3.2. 表格样式

  1. border-collapse属性

border-collapse​属性指定表格边框为设置​合并​边框或​默认分开​。
如果边框是​分开​的,则可以使用​border-spacing​属性来更改间距。

​collapse​: 如果可能,边框会​合并​为一个​单一​的边框。会忽略 border-spacing 和 empty-cells 属性。
​separate​: 默认值。边框会被​分开​。不会忽略 border-spacing 和 empty-cells 属性。
​inherit​: 规定应该从父元素​继承​ border-collapse 属性的值。

  1. caption-side属性

caption-side​属性指定表​标题​的​位置​。 值可以设置为​ top​ 或​ bottom​

  1. empty-cells属性

empty-cells属性​设置是否显示表格中的​空单元格​(仅用于​"分离边框"​模式)
参数值可以是:

​show​:在空单元格周围绘制边框。默认。
​hide ​:不在空单元格周围绘制边框。
​inherit​: 规定应该从父元素继承 empty-cells 属性的值

  1. table-layout属性

table-layout​指定如何计算表格列的​宽度​。

参数值可以是:

​auto​: 默认。列宽度由单元格​内容​设定。
​fixed ​: 列宽由表格​宽度​和​列宽度​设定。

3.3. 链接样式

链接​可以使用任何​CSS属性​(例如,color,font-family,background等)来​设置样式​。
链接​的​特殊性​在于能够根据它们所处的​状态​来设置它们的样式。

以下​​四个​链接状态是:

​a:link ​- 定义普通的、未被访问的链接
​a:visited ​- 定义已被访问的链接
​a:active​ - 链接被点击的时刻
​a:hover​ - 鼠标指针位于链接的上方

当为链接设置样式时,必须遵循以下规则:
a:hover​ 必须在a:link和a:visited之后;​a:active ​必须在a:hover之后

默认情况下,​文本链接​由浏览器加​下划线​。

处理带链接的文本CSS最常见的用法之一是​删除下划线​。​text-decoration​属性用于​删除下划线

a:link {
   text-decoration: none;
}

3.4. 自定义鼠标光标样式

cursor​属性规定要显示的​光标​的​类型(形状)​。该属性定义了​鼠标指针​放在一个​元素边界​范围内时所用的​光标形状

cursor​属性还有许多其他的值,例如:

​auto ​-默认,浏览器设置的光标
​default ​- 默认光标
​crosshair ​- 光标显示为十字准线
​pointer - 光标显示手形图标
​move ​-此光标指示某对象可被移动
​e-resize ​-此光标指示矩形框的边缘可被向右(东)移动
​ne-resize​-此光标指示矩形框的边缘可被向上及向右移动(北/东)
​nw-resize​-此光标指示矩形框的边缘可被向上及向左移动(北/西)
​n-resize ​-此光标指示矩形框的边缘可被向上(北)移动
​se-resize​-此光标指示矩形框的边缘可被向下及向右移动(南/东)
​sw-resize​-此光标指示矩形框的边缘可被向下及向左移动(南/西)
​text ​-此光标指示文本
​wait -此光标指示程序正忙(通常是一只表或沙漏,在win10中以一个旋转的圆环表示)
​help -此光标指示可用的帮助(通常是一个问号或一个气球)

四、CSS定位与布局

4.1. display属性

网页上的每个元素都是一个​盒模型​。​display​属性决定了盒模型的​行为方式​,设置元素如何被显示。

display常用的属性共有​4个​值:

​display: none;​ – 让标签消失(隐藏元素并脱离文档流)
​display: inline;​ – 内联元素(内联标签)
​display: block;​ – 块级元素(块级标签)
​display: inline-block;​ – 既有inline的属性也有block属性

  1. display:block​
    block(块元素)​是占用​最大可用宽度​的元素,此元素将显示为​块级元素​,此元素前后会带有换行符。
    block元素会​独占一行​,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度
    block元素可以设置​width​和​height​属性。块级元素即使设置了宽度,仍然是​独占一行​
    block元素也可以设置​margin​和​​​padding​​​属性

  2. display: inline
    转换为​内联元素​(内联表签)。
    inline元素​不会独占一行​,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行
    inline元素的宽度是自身内容的宽度(​默认有多少占多少​)
    inline元素设置​width​和​height​属性​无效​
    inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。

  3. display:none
    display:none​ ​隐藏​一个​元素​
    display:none属性-​不占用​任何​空间​
    display:none属性-​隐藏​当前​元素,它的​子元素​也一定​无法显示​
    display:none属性-​会引起页面重绘和回流,​脱离文档​
    该元素将被​隐藏​,在页面显示时不会展现出来,就好像该元素​不存在​一样。

  4. display:inline-block
    display:inline-block​属性,既有inline的属性也有block属性
    它结合了上述inline和block的特点,如下:
    使元素变成​行内元素​,拥有行内元素的特性,即可以与其他行内元素​共享一行​,不会独占一行
    ​能够​改变元素的​height​,​width​的值
    ​可以​设置​padding​,​margin​的各个属性值,top,left,bottom,right都能够产生边距效果

4.2. visibility属性

visibility​属性用于指定元素的可见性。即元素是​可见的​还是​隐藏的​.

最常见的值是​visible​和​hidden​。

​visibility:visible​属性值定义的元素是​可见​的,元素会显示出来,是默认的属性值。
​visibility:hidden​属性值定义的元素是​不可见​的,元素不会显示出来,但还会占据原有的空间。
我们可以将visibility​属性设置为“​hidden​”来隐藏元素。

​display:none​​是​彻底消失​,​不占空间​,浏览器也​不会解析​该元素,当diaplay值为none时会产生回流和重绘
​​visibility:hidden​​只是看不到了,但​占有相对空间​,​不会彻底消失​,浏览器​会解析​该元素,只重绘不回流

4.3. position属性

position​属性指定一个元素(​静态的,相对的,绝对或固定​)的定位方法的​类型​。可以使用​top, bottom, left, 和 right​属性来定位元素。

position属性的值可以为:

​absolute​:生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
​fixed​: 生成固定定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
​relative​: 生成相对定位的元素,相对于其正常位置进行定位。因此,“left:20” 会向元素的 LEFT 位置添加 20 像素。
​static​: 默认值。没有定位(静态定位),元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
​inherit​: 规定应该从父元素继承 position 属性的值。

4.4. z-index属性

z-index属性指定元素的堆栈顺序(通过z-index的值可以决定哪个元素应放置在其他元素的前面或后面)。

当元素位于正常流程顺序之外时(受position等属性影响时),它们可以重叠于其他元素。

4.5. float属性

float​属性指定一个盒子(元素)是否应该​浮动​。
使用​float​,可以将元素向左或向右推,以允许其他元素环绕它。

float​通常与​图像​一起使用,但在处理布局时也很有用。

​float​属性的值是 left,right,和 none。

​left,right​会使元素​向左或者向右浮动​。
​none​能确保元素​不会​进行浮动。

如果连续放置几个浮动的元素,那么如果有足够的空间,它们将​相互浮动​

元素设置了​float​属性后会使​后面的元素​都受其​影响​,将环绕在其周围。为了避免这种情况,请使用​clear属性​。

​clear​属性指定​某个元素​不受其他设置了float属性的元素的​影响

none ​:  允许两边都可以有浮动对象
​both ​:  不允许有浮动对象
​left​ :  不允许左边有浮动对象
​right ​:  不允许右边有浮动对象

4.6. overflow属性

如前所述,页面上的每个元素都是一个盒子。如果没有设置盒子的高度,那么盒子的高度将随着所需的内容的增大而变大。

​overflow属性​指定如果​内容溢出​一个元素的框,会发生什么。

overflow​属性有四个值:​visible​(默认值),​scroll​,​hidden​和​auto​。

​visible​:默认值,内容不会被修剪,会​呈现​在​元素框之外​。
​hidden​:内容会被修剪,并且其余内容是​不可见​的。
​scroll​:内容会被修剪,但是浏览器会显示​滚动条​以便查看其余的内容(​不溢出也会有滚动条​)
​auto​:如果内容被修剪(比如​文字溢出时候​),则浏览器会显示​滚动条​以便查看其余的内容。


总结

本章记录了有关CSS样式的学习笔记,认识了盒模型、CSS属性、有关CSS定位于布局的属性等。

去以六月息着也,野马也,尘埃也,

–2023-10-26 筑基篇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星石传说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值