欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 CSS 学习总结

程序员文章站 2022-03-30 10:57:28
CSS 学习总结css简要介绍什么是CSScss作用css与HTML之间的关系导入CSS的方式CSS的基本使用规则CSS语法CSS样式表特征CSS基础选择器div+css布局CSS基础样式字体的设置文本属性盒子模型浮动元素伪类定位精灵图css简要介绍什么是CSScss是层叠样式表 (Cascading Style Sheet),又叫级联样式表,简称样式表。css作用用于HTML文档中元素样式的定义。实现了将内容与表现分离。提高代码的可重用性和可维护性。文件后缀是.css。css与HT...

css简要介绍

什么是CSS

css是层叠样式表 (Cascading Style Sheet),又叫级联样式表,简称样式表。

css作用

  1. 用于HTML文档中元素样式的定义。
    实现了将内容与表现分离。
    提高代码的可重用性和可维护性。
  2. 文件后缀是.css。

css与HTML之间的关系

  1. HTML用于构建网页的结构
  <!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>
       内容区域
   </body>
   </html>
  1. CSS用于构建HTML元素的样式
  2. HTML是页面的内容组成,CSS是页面的表现

结构层 HTML
表示层 CSS
行为层 JS

导入CSS的方式

  1. 内联方式
    直接把CSS代码用style属性添加到开始标签中
<p style="color:gold;" >金色字体</p>
  1. 内部样式
    直接把CSS代码添加到头部的style标签中
  <head>
          <style>
               p{color:red;}
           </style>
  </head>
  1. 外部样式表
<link rel="stylesheet" href=""/> 

引入外部的CSS样式,这样用的比较多
4. 导入式

<head>
       <style>
             @import url(my.css);
         </style>
 </head>

优先级:行内样式>内部样式>外部样式>导入样式

CSS的基本使用规则

CSS语法

  1. CSS是以属性/值对形式出现
  2. 属性和属性值之间用冒号(:)连接
  3. 多对属性之间用分号(;)隔开

CSS样式表特征

  1. 继承性
  2. 层叠性
  3. 优先级

CSS基础选择器

  1. 通用选择器,全局选择器(*)
    可以与任何元素匹配
    常用于设置一些默认样式
    优先级最低
  2. 元素选择器
    HTML文档中的元素
    p、b、div、a、img、body等
  3. 类选择器
    如:.body{color:red;}
    类名不能以数字开头
    一个页面中class名字可以重复
  4. ID选择器
    #box{color:skyblue;}
    id的名字不能重复ID属性是惟一的
  5. 合并选择器
    语法:选择器1,选择器2,…{}
    可以提取共同的样式,减少重复代码

div+css布局

内容和显示分离,便于维护扩展,网页布局方便,当需求改变的时候,效果最明显
div
1. 可定义文档中的分区
2. 可以把文档分割为独立的、不同的部分
3. 是一个块级元素,独占一行
4. 通常与CSS配合

CSS基础样式

字体的设置

  1. color 定义文本的颜色
    如:

    div{color:red;}
    div{color:#ffffff}
    div{color:rgb(255.255.255);}
    
  2. font-style 设置文本是否倾斜
    normal(正常字体) 默认值
    italic 斜体

    p{font-style:italic;}     /*  倾斜 */
    
  3. font-size 设置文本字体的大小

    p{font-size:12px;}
    

    通过像素来指定字体的大小
    1px=1像素

  4. font-family 定义文本使用某个字体

    p{font-family:microsoft YaHei;}
    

可以设置多个字体,排名越靠前优先级越高
默认值由浏览器决定

  1. font-weight 指定文字的粗细
    p{ font-weight:normal;}   /*  默认值  */
    p{ font-weight:bold;}   /*  粗体  */
    
  2. font 是上面 几个属性的复合属性
    font:font-style font-weight font-size/line-height font-family
    font-style font-weight 可以不写 也可以交换位置
    font-size/line-height font-family 必须写 能交换位置
    有继承性:给父元素设置了,子元素也可以继承到
    经典应用:给body设置字体相关的属性。

文本属性

  1. text-align 内容对齐方式,他是针对于元素的内容
    属性值:left、center、right
     p{text-align:left;}    /*  左对齐   */
     p{text-align:center;}    /*  居中   */
     p{text-align:right;}    /*  右对齐   */
    

    p标签是块级元素,left、center、right会作用于整行

  2. text-decoration 设置文字是否有修饰线,默认值是none
    p{text-decoration:underline;}   /*   指定文字的修饰线是下划线  */
    p{text-decoration:overline;}   /*   指定文字的修饰线是上划线  */
    p{text-decoration:through;}   /*   指定文字的修饰线是贯穿线,类似于删除标签的效果  */
    

    常用text-decoration:none;来去除a标签的下划线

  3. text-indent 文本缩进
    文本缩进属性是用来指定文本的第一行的缩进
    也可以隐藏一个盒子中的文本
    p{text-indent:2em}    /*  首行缩进2个文字的大小  */
    p{text-indent:-9999em;}    /*  用来隐藏文本   */
    

    1em和当前字体大小相等。如在谷歌浏览器中默认字体是16px,
    那么,1em的默认大小是16px。

  4. word-wrap 设置当前行超过指定容器的边界时是否换行
    首先要知道一种情况:如果容器中的单词过长,超出了容器本身的宽度会造成长单词溢出
    word-wrap:break-word;可设置过长的文本自动换行。
  5. line-height 设置对象的行高(不允许使用负值)
    normal 默认,设置合理的行间距
    number 设置数字,此数字会与当前的字体尺寸相乘来设置行间距

    如果子标签是南标签,行高可以撑起子标签的高度
    如果子标签是女标签,行高不能撑起子标签的高度

盒子模型

  1. 盒子模型是CSS中一个重要的概念,理解了盒子模型才能更好的排版。W3C组织建议把网页上元素看成是一个个盒子。盒模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)、外边距(margin)。
  2. border 边框

    border属性设置一个元素的边框,它有三个要素:宽、样式、颜色,统称边框三要素。

 三要素书写的时候一般如下顺序
 border:宽度 样式 颜色;
   如
       div{border:1px solid red;}     /*   1像素红色的实线边框  */
       div{border:1px dotted red;}     /*   1像素红色的点状边框  */
       div{border:1px dashed red;}     /*   1像素红色的虚线边框  */
       div{border:3px double red;}     /*   红色的双线边框最小3像素不然显示不下  */

border的三要素可以统一写在"border"属性中,也可以单独设置
border-width: ;
border-style: ;
border-color: ;
在style属性为空的情况下,整个边框是不会出现的,不写width会有默认3像的值,不写颜色会默认为黑色。

  1. margin 外边距

    margin是围绕在元素边框周围的空白区域,会在元素外创建额外的空白区域,外边距是透明的

    单边设置:
    margin-top/right/bottom/left:value;
    value可取值为像素、%、auto、负值
    外边框简写:
    margin:value(四个方向相同);
    margin:value(上下) value(左右);
    margin:value(上) value(左右) value(下);
    margin:value(上) value(右) value(下) value(左)

  2. padding 内边距

    内容区域和边框之间的空间,会扩大元素边框所占用的区域

    语法: padding:value;
    单边设置:
    padding-top/right/bottom/left:value;
    value可取值为像素,百分比,但不能为负数
    padding的简写:

     > padding:value(四个方向相同);
     > padding:value(上下) value(左右);
     > padding:value(上) value(左右) value(下);
     > padding:value(上) value(右) value(下) value(左);
    
  3. 内容区域 width和 height
    对于男盒子来说,表示内容区域
    对于女盒子来说,width和height不起作用
    > 注意点
    1)不设有默认值,宽度默认值是auto,对于块级元素来说auto表示尽可能大,对于行内元素来说,auto表示尽可能小。
    2)如果不设置高度,男盒子的高度是内容的高度,也就是说高度是由内容撑起来的,对于女盒子来说也是由内容撑起来的,但是和font-size也有关系。
    3)宽度和高度可以设置百分比,是占父元素的百分比,一般情况下在移动开发时用的多一点。

  4. background 背景
    1.background-color:设置盒子的背景颜色 ,背景色可以填充padding,也可以填充margin
    2.background-image:设置盒子的背景图片 img标签也是盒子 也可以给img这个盒子设置背景图片

一个盒子大小正好和背景图大小一样:正好装进去
一个盒子如果大于背景图:默认会在x和y轴进行平铺
一个盒子如果小于背景图:只会显示背景图的一部分背景图的左上角和盒子的左上角对齐,左上角是指从padding开始,但是border中也会填充背景图片
3.background-repeat:控制是否平铺
repeat-x 只平铺x轴 repeat-y 只平铺y轴 repeat x和y轴都平铺 no-repeat 不平铺
3.一个盒子中放一个大的或小的背景图,可以使用background-position进行定位

浮动

浮动的初衷:为了实现新闻的自围效果

浮动的元素半脱离标准文档流:
出国了
浮动刚开始是为了实现自围效果,文字并不会钻到浮动的元素后面,文字会环绕浮动的元素分布,就叫自围效果。
现在我们基本上利用浮动并不是为了实现自围效果, 我们主要使用浮动来让块级元素并排显示。

浮动元素的特点:
1.贴靠性 如果都向同一个方向浮动,这两个浮动的元素会紧紧地贴在一起,如果后面的空间不够贴靠的话,它会自动换行。
2.包裹性 如果是一个男盒子,在没有设置宽度的情况下,只要它浮动了,那么它的宽度会尽可能小
3.一个元素内部所有元素都浮动了,如果父元素在没有设置高度的情况下它的高度会变成0,也就是说父元素的高度塌陷了。
4. 如果一个女盒子浮动了,就可以设置宽度和高度,女盒子就变成了男盒子。
元素浮动会造成影响:
1.对父元素造成影响
2.对后面的兄弟元素造成影响
我们需要清除浮动所造成的影响,也叫清除浮动:
清除对父元素造成的影响
1.overflow:hidden
2.加高法
元素浮动也会对他后面的元素造成影响:
后面的元素会钻上去,但是文字不会,文字会形成自围效果。对兄弟元素造成影响,我们需要清除这种影响,也叫清除浮动。
最专业的:clear:left/right/both clear:both

clear:both只能写在第一个受影响的元素上,写在父元素上没效果
注意:
DIV中浮动的元素脱离不了父元素,可以影响父元素的高度,会跑到别的盒子中
如果一个盒子浮动,另一个不浮动或者定位(完全脱离标准文档流)可以让两个盒子重叠到一起
两个浮动的元素不能重叠到一起
浮动的元素都实现向上浮动到父盒子的边界

元素

块级元素
div、p、h等
特点:
1.独占一行
2.默认宽度和父元素一样宽
3.css设定的宽高有效

行内元素
span、a、em、strong等
特点:
1.不会独占一行
2.宽度由内容决定
3.在css中设置宽度不起作用

行内块元素
img标签等
特点:
1.不会独占一行
2.可以设置宽高且有效

元素的模式转换
display:block;

把某个元素的显示模式修改为块级元素,在img标签设置这个属性可以去除图片默认的3px间隙

display:inline;

把某个元素的显示模式修改为行内元素

**display:inline-block;

把某个元素的显示模式修改为行内块模式

元素的显示和隐藏

display:none; 没有显示模式,既看不见也不占据位置
visibility:hidden; 隐藏,虽然看不见,但是占据位置
visibility:visible; 可见(visibility的默认值)

伪类

  1. :link 控制a标签的地址没有被访问过的样式
  2. :visited 控制a标签的地址已经被访问过的样式
  3. :hover 控制a标签鼠标移动到之上的时候的样式,且 hover不仅仅是a可以使用,其他的元素也可以使用
  4. :active 控制a标签,在按下没有松开的时候的样式

定位

  1. 相对定位 position:relative;
    特点
    (1)没有脱离标准流,还是会占据在标准流中的位置
    (2)没有改变显示模式
    (3)定位基准是他自己原来的位置

  2. 绝对定位 position:absolute;
    特点
    (1)脱离标准流,不占据原来的位置
    (2)改变了元素的显示模式
    (3)定位的基准是:

  • 如果前代没有定位,绝对定位的基准是浏览器(body)
    如果前代定位了,绝对定位的基准就是离最近的定位的前代元素
    子绝父相 – 绝对定位和相对定位一起使用

精灵图

目的
提高页面的加载速度,减少服务器的压力
制作
(1)一定要是小图片(最好是不太会发生变化)
(2)精灵图在制作的时候宽度一定要大于最大的那张图片的宽度
(3)图片与图片之间必须要有空隙
(4)在精灵图制作完成之后一定要将精灵图下方留出足够的位置,方便将来进行扩展

本文地址:https://blog.csdn.net/weixin_46628546/article/details/107281703