0
点赞
收藏
分享

微信扫一扫

CSS知识点总结【一】——个人笔记(仅供参考~v~)

目标践行者 2022-04-14 阅读 60
css前端


CSS作为页面的“化妆师”,让我们一起来了解如何把页面变得更美吧​

CSS引入样式

清空默认样式reset

css中的基本单位

块元素和行内元素

盒子模型

文字的相关样式

CSS引入方式

1.行内样式

行内样式是直接对HTML标签使用style=" ",例如:

<!--设置一个长度为100px、宽为100px的矩形-->
<div style="width:100px;heigght:100px;"></div>

优点:简单、直接对盒子模型进行操作。

缺点:HTML页面不美观,不便于程序员阅读代码、后期不好维护。

2.内嵌样式

内嵌样式是将CSS代码写在之间,并且用进行声明,例如:

<style>
   .box{
      width: 100px;
      height: 100px;
   }
</style>
<body>
    <div class="box"></div>
</body>

优点:代码布局会更加清晰,方便程序员阅读。。

缺点:页面使用的是公用CSS代码,每个页面都要定义的,如果一个项目有很多页面,每个页面都要设置CSS代码块,后期维护难度大。

3.链接样式(常用)

链接样式是只需要之间加入<link…/>,再在<link…/>中引入css文件,再在CSS文件中写入所需要的页面样式。例如:

<!--在HTML页面中引入CSS文件-->
<link rel="stylesheet" href="./test.css">

4.导入样式

导入样式是采用@import样式导入CSS样式表,在HTML初始化时,会被导入到HTML或者CSS文件中,成文文件的一部分,类似于内嵌样式。例如:

@import在html中使用,代码如下:

<style>
  @import url(test.css)
</style>

@import在CSS中使用,代码如下:

@import url(test.css)

清空默认样式reset

在大部分浏览器中都有默认的样式,例如p标签有上下边距、strong标签有字体加粗样式等。

这些默认的样式往往会给我们网页开发带来问题,影响我们的页面布局,影响开发效率,所以解决的方法是一开始就将浏览器的默认样式全部去掉,重新定义标签样式。目前我们可以通过引入reset.css文件将浏览器提供的默认样式覆盖掉,不影响我们自己页面的布局。

reset.css文件下载地址

css中的基本单位

长度单位

像素px
-屏幕(显示器)实际上是由一个一个的小点点构成的
-不同屏幕的像素大小是不同的,像素越小的屏幕显示的效果越清晰

像素pc(不常用)1pc=12px
vw:(取值1-100),理解全屏幕宽为100vw,自适应屏幕。
vh:(取值1-100),理解全屏幕高为100vh,自适应屏幕。

百分比%
也可以将属性值设置为相对于其父元素属性的百分比
设置百分比可以使子元素跟随父元素的改变而改变

em是相对于元素的字体大小来计算的,1em=1 font-size,但是em会根据字体大小的改变而改变

rem是相对于根元素的字体大小来计算的

颜色单位

在CSS中可以直接使用颜色名来设置各种颜色(不方便)

我们可以通过以下单位来渲染不同的颜色:
RGB值
-RGB通过三种颜色的不同浓度来调配出不同的颜色
-R red G green B blue
-每一种颜色的范围1都在0—255(0%~100%)之间
-语法:RGB(红色,绿色,蓝色)

RGBA
就是在RGB的基础上添加了一个A表示不透明度
需要四个值,前三个跟RGB一样,第四个表示不透明度
1表示完全不透明 0表示完全透明 0.5表示半透明

十六进制的RGB值
-语法1:#红色绿色蓝色
-颜色浓度通过00-ff
-如果颜色两位两位重复可以进行简写(#aabbcc–>#abc)

HSL值 HSLA值: H色相(0~360) S饱和度(0%~100%) L亮度(0%~100%) A不透明度

块元素和行内元素

CSS将HTML中的标签按照元素分类方式分为行内元素(inline element)、**块元素(block element)行内块元素(inline-block leement)**三种:

行内元素特征

1.设置宽高无效

2.对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间

3.独占一行

4.一般情况下会在块元素中存放行内元素,而不会在行内元素放块元素。代表元素span

块元素

1.能够识别宽高

2.margin和padding的上下左右均对其有效

3.可以自动换行

4.多个块状元素标签写在一起,默认排列方式为从上至下

5.在页面中一般通过块元素来对页面进行布局

行内块元素

1.可以自动换行

2.能够自动识别宽高

3.默认排列方式为从左到右

盒子模型

我们在总结CSS过程中,不得不提到“盒子模型”这一概念。这是CSS样式成形的根本

CSS将页面中所有元素都设置为了一个矩形的盒子,将元素设置为矩形的盒子后,对页面的布局就变成将不同的盒子放到不同的位子。
每个盒子都由以下几个部分组成:
内容区(content):元素的所有的子元素和文本内容都在内容区中排列
内容区的大小由width,height两个属性来设置
边框(border):边框属于盒子边缘,边框里边属于盒子内部,出了边框就是盒子外部
边框的大小会影响整个盒子的大小
外边框(margin)
内边框(padding)

边框(border):
边框的宽度:border-width
边框的颜色:border-color
边框的样式:border-style

border-width:默认值一般是3px
border-width可以用来指定四个方向的边框的宽度
值得情况:
四个值:上 右 下 左
三个值:上 左右 下
两个值:上下 左右
一个值:上下左右
另外还有border-xxx-width:xxx的可能值为 top,right,left,bottom:用来指定某一个边的宽度

border-color用来指定边框的颜色,同样也可以分别指定四个边的边框,规则和border-width一样
border-color也可以省略不写,不写的话自顶使用color的颜色值

border-style 指定边框样式 默认值是none表示没有边框,其他值:
solid 表示实线
dotted 点状虚线
dashed 虚线
double 双线

border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求
除了border以外还有四个border-xxx:xxx的可能值为 top,right,left,bottom
例如:border-top:10px solid red;

内边距(padding):会影响到盒子的大小,背景颜色会延伸到内边距
内容区和边框之间的距离是内边距
一共有四个方向的内边距:padding-xxx(xxx的值为top,right,left,bottom)

padding 内边距的简写属性,可以同时指定四个方向的内边距,规则和border-width一样

外边距(margin):会影响到盒子实际占用的空间
外边距不会影响盒子可见框的大小
但是外边距会影响盒子的位置
一共有四个方向的外边距
margin-top:上外边距,设置一个正值,元素会向下移
margin-right:默认情况下设置margin-right不会产生任何效果
margin-bottom:下外边距,设置一个正值。其下边元素会向下移动
margin-left:左外边距,设置一个正值,元素会向右移动

margin也可以设置负值,如果是负值则元素会向相反的方向移动

元素在页面中是按照自左向右的顺序进行排列的,所以默认情况下如果我们设置的左和上外编剧则会移动元素自身,而设置下和右外边距会移动其他元素

margin的简写属性:
margin可以同时设置四个方向的外边距,用法和padding一样

外边距的注意事项:
垂直外边距的重叠(折叠)
相邻的垂直方向外边距会发生重叠现象

      兄弟元素
          兄弟元素间的相邻垂直外边距会取两者之间的较大值
          特殊情况:如果相邻的外边距一正一负,则取两者的和
          如果相邻的外边距是负值,则取两者中绝对值较大的

       兄弟元素之间的外边距的重叠,对开发是有利的,所以我们不需要进行处理

       父子元素
               父子元素间相邻外边距,子元素的会传递给父元素(上外边距)
               父子外边距的折叠会影响到页面的布局,必须要进行处理

元素的水平方向的布局

元素在其父元素中水平方向的位置由以下几个属性共同决定:
margin-left
border-left
padding-left
width
padding-right
border-right
margin-right
一个元素在其父元素中,水平布局必须满足以下的等式
margin-left + border-left + padding-left + width + padding-right + border-right + margin-right=其父元素内容的宽度
以上等式必须满足,如果想加结果使等式不成立,则称为过渡约束,则等式会自动调整
调整情况:

                1.如果这七个值中没有auto的情况,则浏览器会自动调整margin-right值以使等式满足
                2.这七个值中有三个值可以设置为auto: width、margin-left、margin-right
                3.如果某个值为auto,则会自动调整为auto的那个值以使等式成立

                4.如果将一个宽度和一个外边距设置为auto,则宽度会调整到最大,设置为auto的外边距会自动为0
                5.如果将三个值设置为auto,则外边距都是0,宽度最大
                6.如果将两个外边距都设置为auto,宽度固定值,则会将外边距设置为相同的值

所以我们经常利用这个特点来使一个元素在其父元素中水平居中,示例:margin:0 auto

元素的垂直方向的布局

默认情况下父元素的高度会被内容撑开

      子元素是在父元素的内容区中排列的。
           如果子元素的大小超过了父元素,则子元素会从父元素溢出
           使用overflow属性来设置父元素如何处理溢出的元素

overflow可选值:
visible:默认值,子元素会从父元素中溢出,在父元素外部的位置显示
hidden:溢出内容将会被裁剪不会显示
scroll:生成两个滚动条,通过滚动条来查看完整的内容
auto:是根据需要生成滚动条

行内元素的盒子模型

      行内元素不支持设置宽度和高度
      行内元素可以设置padding,但是垂直方向padding不会影响布局
      行内元素可以设置border,垂直方向的border不会影响页面的布局
      行内元素可以设置margin,垂直方向的margin不会影响布局

display 用来设置元素显示的类型(不占据页面的位置)
可选值:
inline 将元素设置为行内元素
block 将元素设置为块元素
inline-block 将元素设置为行内块元素(既可以设置宽高,又不会独占一行)
table 将元素设置为一个表格
none 元素不再页面中显示
visibilty 用来设置元素的显示状态
可选值:
visible 默认值,元素在页面中正常显示
hidden 元素在页面中隐藏,不显示,但是依然占据页面位置

盒子大小

默认情况下,盒子可见框的大小由内容区、内边距和边框共同决定
boxing-sizing 用来设计盒子尺寸的计算方式(设置width和height的作用)
可选值:
content-box 默认值,宽度和高度用来设置内容区的大小
border-box 宽度和高度用来设置整个盒子可见框的大小
width和height指的是内容区和内边框和边距的总大小

文字的相关样式

color 用来设置字体的颜色
font-size 字体的大小
和font-size相关的单位
em 相当于当前元素的一个font-size
rem 相对于根元素的一个font-size
font-family 字体族(字体的格式)
可选值:
serif:衬线字体
sans-serif: 非衬线字体
monospace:等宽字体
-指定字体的类别,浏览器会自动使用该类别下的字体
font-family 可以同时指定多个字体,多个字体间使用,隔开字体生效时优先使用第一个,第一个无法使用则使用第二个,以此类推

font可以设置字体相关的所有属性
语法:
font:字体大小/行高 字体族
行高可以省略不写,使用默认值

font-weight 字重 字体的加粗
可选值:
normal 默认值 不加粗
bold 加粗
100-900 九个级别(没什么用)

font-style 字体的风格
normal 正常的
italic 斜体

文体的水平和垂直对齐:

text-align 文体的水平对齐
可选值:
left 左侧对齐
center 居中对齐
justify 两端对齐

vertical-align 文本的垂直对齐
可选值:
baseline 默认值 基线对齐
top 顶部对齐
bottom 底部对齐
middle 居中对齐

text-decoration 设置文本修饰
修饰值:
none 什么都没有
underline 下划线
line-through 删除线
overline 上划线

white-space 设置网页如何处理空白
可选值:
normal 正常
nowrap 不换行
pre 保留空白

举报

相关推荐

0 条评论