CSS3知识点笔记————基础(五星)

添加小程序,兑换各种视频教程/数据资源。

1. 作用:美化和修饰HTML。又叫层叠样式表,样式表,级联样式表。

2. 优点:

    2.1 可以更好的将格式与结构分离。

    2.2 可以更好的控制页面的布局。

    2.3 可以制作体积更小,下载更快的网页。

    2.4 可以将多个网页同时更新,比以前更快更容易。

3.使用CSS的三种方式:

    3.1 内联式:即将样式定义在单个HTML元素中。

              语法:

    3.2 内部样式表:将样式定义在标记中。

    3.3 外部样式表:将样式声明定义在独立的css文件(.css)中,在网页中使用。

                     语法:

4.CSS的特征:

    4.1 继承性:即父元素的一些样式,可以继承给子元素直接使用。

    4.2 层叠性:一个元素声明多个不冲突的样式规则,可以全部应用。

    4.3 优先性:浏览器的缺省设置(User Agent Stylesheet)<内部样式表和外部样式表(后定义者优先)<内联方式。

    4.4 !important:在属性值后面添加!important强调其最优先。

5.选择器:

    5.1 定义作用:规范哪些元素可以用声明好的样式。

    5.2 基础选择器的分类:

        5.2.1 通用选择器:语法:*{若干样式声明},不推荐使用,影响性能。

        5.2.2 元素选择器:某标记对应的所有元素。语法:标记名{若干样式声明}。

        5.2.3 类选择器:标记元素的class属性值加上前面的 . 号作为选择器。语法: .类名{若干样式声明}。

                       用法:1. 运行一个元素同时又多个类选择器

                                  2. 元素名 . 类名{若干样式声明}  。

        5.2.4 ID选择器:元素的ID值作为选择器。语法:#ID值{若干样式声明}。

        5.2.5 群组选择器:多个或多种选择器放在一起,用逗号隔开一起声明。

                            语法:选择器1,选择器2,选择器3---{若干样式声明}。

        5.2.6 后代选择器:语法:选择器1 选择器2{若干样式声明}。

        5.2.7 子代选择器:语法:选择器1>选择器2{若干样式声明}。

        5.2.8 伪类选择器:匹配某些元素的不同状态,如超链接单击前中后字体颜色效果。

                            语法: (选择器):伪类选择器{若干样式声明}。

                            分类:1、链接伪类:专门控制 a 标记效果的伪类选择器

                                           (1)、:link:定义超链接未被访问时的样式效果

                                           (2)、:visited:定义超链接访问后的样式效果。

                                       2动态伪类:

                                           (1)、:hover:定义鼠标悬停在元素上的时候的效果。

                                           (2)、:active:定义元素被激活的瞬间的样式效果(被点击的一瞬间)。

                                           (3)、:focus:定义元素获取焦点时的样式效果。

        5.2.9 复杂的选择器:

           (1)兄弟选择器:兄弟元素——具备相同父元素的平级元素称之为“兄弟元素”。

                     注意:兄弟选择器,只能向后找,不能向前找。

                      1).相邻兄弟选择器:作用——获取紧紧挨在某元素后的兄弟元素。

                                               语法:选择器1+选择器2{ 若干样式声明 }。

                      2).通用兄弟选择器:作用——获取某元素后所有满足条件的兄弟元素。

                                               语法:选择器1~选择器2 {  若干样式声明 }。

           (2)属性选择器:作用——允许通过元素所附带的属性及其值来匹配元素。语法:

                   1.[attr ]: attr表示页面中所有元素的任意属性名称。如[id] [class],表示匹配页面中所有附带id ,class属性的元素

                   2.选择器[ attr ]:表示匹配附带attr属性并满足指定选择器的元素。 如div[id], .ipc[name]。

                   3.[attr2][attr1]:表示匹配同时附带attr1,attr2属性的页面元素。

                   4.[attr=value]:表示匹配attr属性值为value的元素,其中这个value,可以用引号也可不用引号。

                   5.[attr&=val][attr^=val][attr*=val]:分别表示属性值以val开头,以val结尾,包含val;

            (3)伪类选择器:作用——为了匹配元素不同的状态。

                   1.目标伪类:突出显示获得的html锚点元素。即跳到锚点记号上时,记号的样式,匹配被激活的锚点。

                            语法: target{} ,如:div:target{}.

                   2.结构伪类:作用——通过元素之间的结构关系来匹配元素。

                           1) first-child:表示匹配的元素是属于父元素的第一个子元素。

                           2) last-child:表示匹配的元素是属于父元素的最后一个子元素。

                           3) nth-child(n):表示匹配元素是属于其父元素中的第n个子元素,如  :nth-child(1) ===first-child;

                           4) empty:匹配没有子元素的元素。

                           5) only-child:匹配只有其父元素只有唯一一个子元素的元素。

                   3.否定伪类:作用——将满足指定选择器的元素给排除出去。

                             语法: not(元素选择器 )。如 tr:not(:first-child){};

                   4.伪元素选择器:伪类——匹配的是完整的元素;伪元素——某元素中的部分内容。

                             语法::first-letter(::first-tletter),匹配某个元素的首字符。

                                        2 :first-line(::first-line),匹配某个元素的首行。

                                        3  ::selection,匹配被用户选取的内容。注意:此选择器只能修改背景颜色和文本颜色,需要2个冒号。

                    5.内容生成:after/:before{content:""}使用css向某元素内插入一段内容。content:该属性也可应用于div中添加图片content:url(...);

                    6.:enabled/:disabled/:checked/:分别表示被激活,被禁用,被选中(单选/复选按钮);

                    7.新增一个属性值initial:可直接取消某个元素的指定样式使其变为默认值;如color:initial;

            (4)伪元素选择器:

                    1. : before(::before):匹配到某元素内容区域之前。

                    2. :after(::after):匹配到某元素内容区域之后。

                    3. 属性——content:向匹配到的位置处增加内容。如: div:before{ content:"字符串"/url();} 在:after/before{这里面的属性都是针对content}。

                    4. 解决浮动元素父元素高度的问题,解决外边距的溢出问题。

             (5).弹性布局(Flexible Layout ,又叫可伸缩布局,常用来替换):

                    1. 为了解决某元素中子元素的布局方式,为布局提供最大的灵活性。

                    2. 弹性布局的容器,即父元素。弹性布局的项目,即要实现布局效果的元素,简称为项目。主轴(Aain Axsis),决定项目们排列顺序的一根轴,如果按X(Y)轴排列,那X(Y)就是主轴。交叉轴(Cross Axsis),与主轴相交叉的那根轴。

                    3. 语法:

                            1.弹性布局的容器:只有将元素变为弹性布局的容器后,子元素们才能按照弹性布局的方式进行排列。将该父元素添加一个属性display:flex/inline-flex;分别表示将块级元素边弹性容器,将行内元素边弹性容器。注意:元素变弹性容器后,子元素的float,clear,vertical-align将全部失效,且子元素变为块级元素,可以修改尺寸,且容器的text-align也会失效。   

                            2.容器的属性:该组属性加载容器上,负责控制所有项目的特征的。属性——

                                          1).flex-direction:指定容器的主轴及其排列方向,X轴为默认主轴。取值:row/row-reverse/column/columu-reverse分别表示默认值主轴为X轴且从左到右排列,主轴为X轴且从右向左排列,主轴为Y轴且起点在顶端,主轴为Y轴且起点在底端。

                                          2).flex-wrap:当一个主轴排列显示不了所有子元素(项目)时,可以指定换行方式。取值:nowrap/wrap/wrap-reverse/;分别表示默认值不换行直接压缩子元素(项目)宽度,向下左边换行,向上左边换行。

                                          3).flex-flow:是flex-direction和flex-wrap的缩写;取值:row nowrap/direction wrap;分别表示默认值,分别取值。

                                          4).justify-content:作用——定义项目在主轴上对齐方式。取值:flex-start/flex-end/center/space-between/space-around;分别表示在主轴的起点对齐,在主轴的终点对齐,在 主轴的居中对齐,两端对齐,让每个项目两端的距离是相等的。

                                          5).align-items:定义项目在交叉轴上的对齐方式。取值:flex-start/flex-end/center/baseline/strentch;分别表示在交叉轴的起点对齐,终点对齐,居中对齐,基线对齐,将在交叉轴上占满所有的空间。

                                          6). flex-basis:用于指定弹性盒子基准宽度,因为在弹性盒子中,盒子的最终宽度不是width值决定的。所以用flex-basis=80px优先级高度width=80px,所以用flex-basis来设置弹性盒子的宽度。
注意:flex: 是flex-grow,flex-shrink,flex-basis三个属性的缩写。

CSS3知识点笔记————基础(五星)_第1张图片

CSS3知识点笔记————基础(五星)_第2张图片

6.尺寸:

    (1).尺寸单位:px,pt(磅/点  1pt=1/72英寸),%,cm,mm,em(占父元素倍数),rem(占根元素倍数),in(1英寸=2.54cm)。

         1).颜色单位:rgb,rgba,#rrggbb,#rgb,英文单词。

         2).尺寸的属性:width/height,max-width/height,min-width/height。

    (2).允许修改尺寸的元素:所有的块级元素(div,p,h#---),除单复选外的控件,img和table。

    (3).溢出处理:属性——overflow,overflow-x,overflow-y。

                                取值——visible(默认值,溢出可见),hidden(溢出隐藏),scroll(显示滚动条),auto(溢出才显示滚动条)。

7.边框:边框的属性语法:border:width  style(solid/dotted/dashed)  color;  表示四边的设置线宽,线类型,线颜色。

   (1).边框的细分:单边多属性(border-方向:width style color),单边单属性(border-方向-属性:属性值),多边单属性(border-属性:属性值)。

   (2).特殊情况:不显示边框,边框矩形由4个三角形组成。

   (3).边框倒角:属性——border-(某个角)-radius:   表示4个角(某个角)的倒角。取值——以px,或百分比为单位的数值。

   (4).边框的阴影:属性——box-shadow;取值——h-shadow v-shadow blur spread color insert; 分别表示水平,垂直位移(正负,以px,或百分比为单位),模糊大小,阴影大小,阴影颜色,内阴影。

   (5).边框轮廓:指在边框外加一层轮廓。属性——outline:width style color;

 

8.框模型:页面元素皆为框,框模型(Box-Model)定义了内容,内边距,外边距的一种方式。

   (1).外边距:属性——margin-(某个方向);表示四个方向(某个方向的外边距距离),多个方向取值可以简写。取值——1.以px,百分比为单位的正负数字。其中正负表示上下左右移动。2.auto,必须是块级元素设置了宽度下,水平居中。

   (2).默认具有外边的元素——body,h#,p,pre,ol,ul,dd,dl; 可以通过margin:0px设置外边距为0。

   (3).外边距的合并以及外边距的溢出。

   (4).内边距:属性——padding;与外边一样的用法。

   (5).重置框模型的计算方式:属性——box-sizding:content-box(默认值)/border-box。

9.背景属性:

   (1).背景颜色——background-color :颜色值;

   (2).背景图片——background-image: url(图片的路径);

   (3).背景图片重复——background-repeat: repeat/repeat-x/repeat-y/no-repeat;分别表示默认值,横向,纵向,不平铺。

   (4).背景图片大小——background-size: x y/x% y%/cover/contain; 分别表示以px为单位,百分为单位,全覆盖,不一定全覆盖。

   (5).背景图片的固定——background-attachment: scroll/fixed; 分别表示默认值随滚动条滚动,固定不随滚动条滚动。

   (6).背景图片位置——background-position: x y/x% y% / 关键字 关键字; 分别表示以x y 方向的pt为单位的位置,百分比为单位的位置,左右上下中关键字。

   (7).背景图片的简写——background: color url() repeat attachment position;定义多背景图,即在一个元素中显示多个背景图像,还可以将背景图像进行重叠,即将上面属性依次赋值多个并用逗号隔开;

10.渐变:

   (1).渐变的主要因素——色标:即颜色和位置。

   (2).渐变的三种方式——线性,径向,二者组合。

   (3).线性渐变:属性——background-image: linear-gradient(angle,color- point1,...);angle-填充方向,取值为to top/to right/toleft/tobottom或者以deg为单位的0~360度。color-point:色标,即颜色和位置。如red 0%,blue 50% 。

   (4).浏览器的兼容——在linear-gradient前加浏览器前缀。

11.文字格式化属性:

   (1).字体属性:

          1. 字体类型——font-family:取值为字体类型,中文类型需要加引号。

          2. 字体大小——font-size: 取值为以 px 或 pt 或em 或 rem 为单位的数字。

          3. 字体加粗——font-weight: normal/bold/value; 分别表示默认值正常,加粗,无单位数字。

          4. 字体样式——font-style: normal/italic;  分别表示默认值正常,斜体。

          5. 字体小型大写字母—font-variant: normal/small-caps; 分别表示默认正常,小型大写字母。

          6. 字体属性的简写——font: style variant weight sizefamily;注意:简写时是必须有font-family。

          7. 自定义字体——@font-face{....}:是由以上属性及值组成的对象。

   (2).文本属性:

           1. 文本颜色——color:颜色值。

           2. 文本水平排列方式——text-align:left/right/center/justify。

           3. 文本的划线修饰——text-decoration:none/underline/line-through/overline;  表示无划线,下划线,删除线,上划线。

           4. 文本的行高——line-height:  取值为以px为单位的数值或无单位的字体倍数。

           5 .文本首行缩进——text-indent: 取值以px 为单位的数值。

           6. 文本阴影——text-shadow: h-shadow v-shadow blurcolor;文本阴影属性接收一个以逗号分隔的阴影效果的列表,阴影效果按照给的的顺序,可以出现相互覆盖的效果。

           7. 文本溢出——text-overflow:clip/ellipsis/ellipsis-word;表示文本超出显示框的处理,取值分别表示不显示(...)直接裁剪/显示(...)省略标记插入的位置是最后一个字符/显示(...)省略标记插入的位置是最后一个词。

           8. 强制换行/不换行——white-space:nowrap/normal。强制不换行,文本会超出显示。

           9. 字母间距——letter-spacing:1px。

           10. 单词/中文字间距——word-spacing:1px。
    (3).文本多列布局——适合纯文本设计:

          1. column-width:表示一篇文字中定义文本每列宽度;

          2. column-count:表示将一篇文字分成几列显示;

          3. column-gap:定义相邻列之间的距离;

          4. column-rule:style width  color:表示相邻列之间的分割线的样式(dashed/dotted/solid/none等),宽度,颜色;

          5. column-span:none/all:表示标题只在本栏显示/横跨所有栏显示;

          6. column-fill:auto/balance:表示栏的高度是否统一。Auto表示随内容变化,balance表示以内容最多的那列高度统一;

12.表格的属性:

    (1).表格的常用属性:

         1. 边框属性——border,css中只有table,td才有边框属性。

         2. 尺寸属性——width,height。

         3. 框模型——padding。

         4. 文本属性——1.font-*; 2.text-*;3.line-height。

         5. 单元格的数据垂直对齐方式——vartical-align:top/center/bottom。

   (2).表格的特有属性:

         1.边框合并:即将双线边框合并成单线边框。属性——border-collspase: sparate/collspase; 表示默认值,合并成单线边框。

         2.边框边距:相邻边框的距离。属性——border-spading:x y;  表示水平,垂直间距,需要在边框合并默认值下才能有效。

         3.表格标题的位置——caption-side:top/bottom;

         4.显示规则:即td宽高由内容还是设定值决定——table-layout:auto/fixed; 分别表示默认值以内容决定,有设定tr值决定。

13.定位:定位的分类:

    1.普通流定位(即文档流定位),默认定位方式。

    2.浮动定位(专门解决多个块级元素在一行显示)。

    3.相对定位。

    4.绝对定位。

    5.固定定位。

   (1).普通流定位:特点:

         1、每个元素在页面上都有自己的空间。

         2、每个元素都是从其父元素的左上角开始排列。

         3、页面中的块级元素,都是按照从上到下的方式逐个排列,每个元素独占一行。

         4页面中的每个行内元素 和 行内块元素都是按照从左到右的方式来排列的。

   (2).浮动定位:属性——float: left/right/none;特征——

        1元素会被排除在文档流之外(即脱离文档流),元素就不再占据页面空间,其它未浮动元素要上前占位。

        2、浮动元素会停靠在其父元素的左边或右边,或其它已浮动元素的边缘上。

        3浮动元素只能在当前行浮动。

        4、浮动定位解决的问题:让多个块级元素在一行内显示。

            浮动定位效果:

             1、父元素显示不下所有浮动子元素时,最后一个将换行,但是,有可能被卡住。

             2元素一旦浮动起来之后,宽度将以内容为准(未指定宽度的情况下)。

             3、元素一旦浮动起来之后,将变成块级元素(允许修改尺寸,能正常处理外边距)行内元素 和 行内块元素 浮动起来之后,就变成块级元素。

             4文本,行内元素,行内块元素是采用环绕的方式来排列的,是不会被浮动元素压在底下的,而是会巧妙的避开浮动元素。

           清除浮动:清除前面元素浮动对本元素产生的位置的影响。

             1 、属性:clear:none/left/right/both;分别表示默认值不清

除,清除前面元素左浮动带来的影响,右浮动带来的影响,清除浮动带来的影响。

             2、 浮动元素对父元素高度的影响及其解决方案。显示方式——属性——display:none/block/inline/inline-block/table;分别表示默认值不显示,将元素边块级,将元素边行内级,将元素边行内块级,将元素边table一样的表现形式。

           显示效果:

             1、显示/隐藏属性——visibility;不脱离文档流,仍然占据空间。取值——visible(默认值,可见的) / hidden (隐藏);

             2、透明度属性——opacity;改变整个元素的透明度。取值——0.0~1.0之间的小数。

             3、垂直对齐属性——vertical-align;设置td,img,行内块级元素2端的文本相对于它们的垂直对齐方式。img后垂直对齐取值——top/middle/bottom/baseline(默认值,基线对齐);在网页开发过程中,通常会将页面所有图片的。默认值baseline修改成其他值,消除基线对齐。用于图片后面文字的对齐方式。

          光标:鼠标悬停在元素上时,鼠标的表现形式,如小手,沙漏,旋转,十字----属性—cursor:default(默认值)/pointer(小手)/crosshair(十字)/text(I)/wait(等待旋转图形)/help(帮助)。

    (3).相对/绝对/固定定位:

         1.属性——position:static(默认值)/relative/absolute/fixed;分别表示默认值,相对定位,绝对定位,固定定位。

         2.偏移属性——top/bottom/right/left:取值以px为单位的正负数值。并以其为基准线的移动。

         3.相对定位——元素会相对于它自己原来的位置,偏移某个距离。相对定位的元素,原位置(空间)会被保留,不允许被其他元素所占据。语法: position:relative;top/right/left/bottom: 正负值。

         4.绝对定位:

             (1).特证:脱离文档流,不占页面空间,后面元素上前补位。绝对定位的元素会相对于离它最近的,已定位的祖先元素去实现位置的初始化和偏移。如果不存在已定位的祖先的元素,那么就相对于body取实现位置的初始化和偏移(其top/right/bottom/left都是相对于祖先已定位元素或body左上角的偏移位 置)。

             (2).语法:position:absolute;top/right/left/bottom: 正负值。

             (3).特点:绝对定位的元素会脱离文档流,所有会压在其他元素之上。绝对元素会变成块级元素。绝对定位的元素,margin可以正常使用,在正常下,margin:0 auto; 会失

效,但是在该绝对元素top/right/left/bottom:取值全都是0的非正常情况下下margin:auto;有效。

        5.固定定位:

             (1).让元素始终固定在页面的某个位置处,不受到滚动条滚动而范式位置的影响。

             (2).语法:position:fixed;配合top/right/left/bottom实现位置的改变。

             (3).特点:脱离文档流,固定元素会变块级。可修改尺寸。永远都是相对于body实现位置的固定。

       6.堆叠顺序:

            (1).改变元素定位方式之后,有可能会发生堆叠效果,实际上是由堆叠顺序来决定排位效果的。如纸牌游戏出牌那张高出其他张。

            (2).语法:属性——z-index:取值为没有单位的数值,数值越大,越靠前,越面向用户更近。前后移动,取值为负表示正常之下。

            (3).注意:必须是已定位元素才能用z-index。如果z-index相同的话,则后出现的在上面。在父子级元素中,永远都是子压在父元素之上,不受到z-index控制的。

14.盒模型:任何一个块级/行内块级标签都可以视为一个矩形盒子,由width、height、padding、margin、border组成。box-sizing取值决定了是标准盒模型还是怪异盒模型。

 

CSS3知识点笔记————基础(五星)_第3张图片

CSS3知识点笔记————基础(五星)_第4张图片

 

 

CSS3知识点笔记————基础(五星)_第5张图片

CSS3知识点笔记————基础(五星)_第6张图片

 

你可能感兴趣的:(css)