博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS基础知识点笔记
阅读量:4313 次
发布时间:2019-06-06

本文共 11065 字,大约阅读时间需要 36 分钟。

css 概念:

Cascading Style Sheets (层叠样式表或者叫级联样式表), 层叠: 指的是css的一个特性。

.css与html之间的关系:

☞css是以html为基础的。 ☞css通过给标签设置各种属性达到美化的效果。

CSS书写位置

  1. ☞ 内嵌式写法:样式与结构没有分离
    ◇ 在head标签中设置一个style标签
    1151911-20190716131159793-441887110.png
  2. ☞ 外联式写法 :样式与结构的分离
    ◇ 新建一个CSS文件
    ◇ 在html标签中通过link标签引用
    1151911-20190716131857638-1989923806.png
  3. ☞ 行内式写法:样式与结构没有分离

    1151911-20190716131948876-2018270419.png

    CSS语法格式:

    选择器 {属性: 值;  属性: 值;  .....}     ◇选择器:  选中标签的过程。     ◇选择器分类:         1. ☞ 简单选择器                 ✔ 标签选择器 (html标签)                  ✔ 类选择器                 ✔ ID选择器                 ✔ 通配符选择器         2. ☞ 复合选择器                 ✔ 交集选择器(标签指定式)                 ✔ 后代选择器                 ✔ 子代选择器                 ✔ 并集选择器

    标签选择器:

    html标签名 {属性:值;}         div {             color:blue;             font-size:30px;             width:200px;             height:400px;             background-color:yellow;             }     文字颜色:color         1.直接使用颜色对应的单词表示             p {                 color:red;             }          2.使用十六进制表示颜色:             p {                 color:#a5e9f5;             }          3.使用rgb表示颜色:             r :red      (0-255)             g :green  (0-255)             b :blue     (0-255)             p {                 color:rgb(255,255,1);             }              4.使用rgba表示颜色:             r     0-255             g     0-255             b     0-255             a  alpha(透明度)  0-1                 div {                     width:300px;                     height:300px;                     background-color:rgba(0,0,0,0.1);/*半透明*/                 }          5.opacity 设置半透明效果                 div {                     background-color:red;                     opacity:0.5;                     filter:Alpha(opacity=50);  /*  ==>  兼容IE8及更早的浏览器  */                 }

    类选择器:

    1. 语法:  .自定义类名 {属性: 值; ....}    ---样式的定义     2. 类命名规范:             ☞ 不能使用纯数字或者以数字开头定义类名             ☞ 不推荐使用汉字定义类名             ☞ 不能使用纯特殊字符或者以特殊字符开头定义类名:     3. 样式的调用:      标签通过设置class属性调用即可。     /*  类选择器*/         ```             /*定义样式*/             .abc {                     color:red;                }             /*样式的调用*/             

    段落1

    ``` 特点: 1.一个类样式可以被多个标签同时调用 ```

    段落1

    段落2

    标题

    ``` 2. 一个标签可以同时调用多个类样式 ```
    调用多个样式
    ```

    ID选择器:

    语法:      #自定义名称 {属性: 值;}      ---样式的定义     调用:      标签通过ID属性调用。     /* ID选择器 */     ```         /*定义样式*/             #p_class {          color: green;     }         /*样式的调用*/             

    文字1

    ``` 特点: ☞ 类选择器与ID选择器的区别: ◇ 一个标签只能有一个唯一的id属性值。

    通配符选择器:

    语法:      * {属性: 值;.....}     特点:      可以将页面中所有的标签选中。

    标签指定式选择器:

    语法:      选择器选择器 {属性: 值;......}     例如:  div.one     div#one     关系: 既...又...

    后代选择器:

    语法:      选择器  选择器 {属性: 值;}     ```          /*定义样式*/     div p {          color: red;      }          /*样式的调用*/                 

    文字

    /*仅它的文字被更改样式*/

    孤独的p

    /*该文字样式不变*/ ``` 特点: 1.标签之间必须是嵌套关系。 2.后代选择器与选择器之间必须有空格 3.后代选择器选中所有的子元素

    子代选择器:

    语法:              父级选择器>子集选择器 { 属性:值; }     ```          /*定义样式*/             h1 > strong {color:red;}          /*样式的调用*/             

    This is very very important.

    /*样式被应用*/

    This is really very important.

    /*样式不被应用*/ ``` 特点:与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。

    并集选择器:

    语法: 选择器,选择器 {属性: 值;}     ```         /*样式的定义*/         .one,.two {          color: red;     }     /*样式的调用*/         

    1

    2

    213

    ```

    元素分类及显示方式:

    块级元素:

    ☞代表元素:  div,p,ul,li,h1.....     ☞ 特点:         ◇ 块级元素默认宽度等于其父元素的宽度。【只属于块级元素特点】         ◇ 可以给块级元素设置宽度和高度         ◇ 独占一行显示

    行内元素:

    ☞代表元素:  span,a,strong, b,i,s,font.....     ☞特点:         ◇ 元素在一行上显示。         ◇ 不能设置宽度和高度

    行内块元素

    ☞代表元素:  img, input     ☞特点:         ◇ 元素在一行上显示。         ◇ 可以设置宽度和高度。

    元素模式转换

    ```         /* 转换为块级元素 */             display: block;         /* 转换为行内块元素 */             display: inline-block;         /* 转换为行内元素 */             display:inline;     ```     ☞ 注意:             1. 一般将行内元素转换为块级元素或行内块元素。             2. 行内块元素不能转换行内元素。

    CSS特性:

    ☞ 层叠性: 给同一个标签设置样式,权重相同的情况下,如果出现样式冲突,那么是以最后一次定义的样式为准。     ☞继承性: 默认子元素没有设置样式的时候,该子元素会受父元素的样式影响。     注意:          1.继承性标签之间的关系必须是嵌套关系         2.宽度和高度不能继承。             可继承的属性:                 color            文字颜色                 text-align            内容对齐方式                 font-size            文字大小                 与文字相关的属性都可以被继承。             继承的特殊标签:                 1. 超链接a标签不能直接受父元素中的文字颜色影响(”没有继承”);                 2. 标题标签不能直接受父元素中的font-size影响。     ☞ 优先级(权重)         标签选择器< 类选择器< ID选择器< 行内样式 < important             10       100       1000     10000     10000+         ◇  继承的权重为 0         ◇  权重可以叠加

    伪类 :

    a:link {属性: 值; .....}           特点: 设置 a标签默认的样式。          /* 设置默认样式 */          a:link {              color: red;                         }           推荐直接通过标签或者类设置a标签样式。     a:visited {属性: 值; .....}         特点:设置访问过后的样式         /* 访问过后a标签的样式 */                 a:visited {                     color: pink;                     /* font-size: 20px;   该行代码不执行    */                       }         注意: 该伪类中的属性只能设置与颜色相关的属性值。     a:hover {属性: 值; ....}         特点:设置鼠标悬停时候的样式             * 设置鼠标悬停到a标签上的样式 */       a:hover {           color: blue;           font-size: 30px;                             /* 显示下划线 */                                 text-decoration: underline;                             /* 去掉下划线 */                                 text-decoration:none;       }     a:active {属性:  值; ....}         特点:激活状态下的样式。             /* 激活状态下的样式 */       a:active {             color: yellow;       }     :focus {属性: 值; ....}         特点:获取鼠标焦点的样式。             /* 获取焦点的样式 */       input:focus {          background-color: pink;       }

    伪类注意事项:

    1.  伪类如果都设置的情况下,按照 L V H A;     2.  伪类可以单独设置一个hover;

    背景(background):

    ☞ background-color    设置背景颜色     ☞ background-image   设置背景图片     ☞ background-repeat   设置背景图片平铺方式(  repeat (默认值)、no-repeat、repeat-x、repeat-y)     ☞ background-position:  设置背景图片的位置         ◇设置具体方位名称 (top | left | right | bottom| center )         ◇ 设置具体值          注意:              1.如果background-position只设置一个值的时候,第二个值默认值是center.             2.如果设置具体值第一个值代表水平方向,第二个值代表垂直方向。     ☞背景属性联写:         Background: background-color | background-image | background-repeat | background-position          .box {           width: 300px;           height: 300px;           background: 50px red   no-repeat url(2.png);       }         注意: 该属性联写没有顺序要求和个数要求。

    ul默认属性:

    去掉列表中的默认圆点:         ul {             list-style:none;         }

    font属性:

    ☞ font-size      设置文字大小     ☞ font-family     设置文字字体:         /* 设置文字字体 */             ☞ 直接设置字体名称             /* font-family: "宋体"; */             /* font-family: 微软雅黑; */             ☞  设置字体对应的单词             /* font-family: "microsoft yahei"; */             ☞  设置字体对应的unicode编码             /* font-family: "\5B8B\4F53"; */     ☞ font-weight    设置文字是否加粗显示         取值: normal  默认值与400一样  /  Bold    加粗 与 700一样          ☞ font-style:  normal(默认值) |  italic(斜体显示)     ☞ line-height  设置文字行高     注意:   1.  设置字体为常用字体(宋体,微软雅黑,黑体。。。)   2. Font-family可以一次设置多个字体,字体与字体之间使用逗号隔开

    font属性联写

    font:  font-weight  font-style  font-size  font-family  line-height          p {         /*  font-size: 20px;          font-family: 宋体;          font-weight: 700; */          /* font: 700  italic  20px/30px(后面数字表示行高)  宋体; */          /* font:  宋体 30px; */          /* font: red 30px 宋体; */          color: red;          font: 30px 宋体;      }     注意:         1.  font属性联写中必须设置font-size 和font-family         2. font属性联写中,font-size 必须在font-family前面

    line-height 行高:

    ◇行高概念: 两条基线之间的距离     ◇行高公式:          行高=文字大小+上间距+下间距         注意:             1. 行高改变的就是文字的上下间距             2.                   2.1文字大小可以影响行高                 2.2 文字字体可以影响行高     ◇行高作用:         实现文字垂直居中。         注意:             行高只能让文字垂直居中。       ◇行高单位:  px、em、 百分比、不带任何单位             特点一: 给单独的一个标签设置行高         px:       设置的行高与文字大小无关。         em:      行高=设置的行高*文字大小。         百分比:     行高=设置的行高*文字大小。         不带单位:  行高=设置的行高*文字大小。     特点二: 给父元素设置行高,看子元素的行高情况         父px:     子行高=父元素设置的行高值(继承)         父em:    子行高=父元素设置行高值*父元素文字大小         父百分比:  子行高=父元素设置行高值*父元素文字大小         父不带单位: 子行高=父元素设置行高值*子元素文字大小

    盒子模型:

    作用: 实现网页布局。     组成:        ☞ 边框(border)         ☞ 内边距 (padding):              盒子中的内容与边框之间的距离 【内边距移动的是盒子中的内容】         ☞ 外边距 (margin):             盒子与盒子之间的距离。【外边距移动盒子整体位置】

    盒子模型之边框(border):

    ☞ border-width   边框宽度         默认值                medium         小于默认宽度                thin         大于默认宽度                thick       ![](https://img2018.cnblogs.com/blog/1151911/201907/1151911-20190716191436629-1200030315.png)     ☞ border-color    设置边框颜色     ☞ border-style     设置边框样式             none   没有边框             dotted  边框为点线             dashed  边框为虚线             solid    实线边框
    .box {      width: 300px;     height: 300px;     /* 设置边框宽度 */     border-width: 2px;     /* 设置边框颜色 */     border-color: pink;      /* 点线边框 */     border-style: dotted;      /* 虚线边框 */      border-style: dashed;      /* 实线边框 */      border-style: solid;              /* 联写 */                 border: 5px solid red;
    注意: 该属性联写没有顺序的限制,必须设置border-style;
    border-top: 5px solid green;             border-left: 5px dotted green;             border-right: 5px dashed pink;             border-bottom: 5px solid red;

    或者:

    border-top-color: yellow;              border-top-width: 10px;              border-top-style: dotted;

    去掉边框:

    border-style:0 none;

    或者

    border:none;

    去掉表单控件中的轮廓线

    outline-style:none;

    边框合并:

    boeder-collapse:collapse;

    注意:

    该属性只适用于表格标签。

    盒子模型之内边距(padding)

    ☞内边距的属性联写:
    /* 上,右,下,左内边距各为10px */ padding: 10px; /* 上下10px     左右20px */ padding: 10px  20px; /* 上10px   左右20px    下30px */ padding: 10px 20px 30px; /* 上 10px   右 20px   下30px  左40px */ padding: 10px 20px 30px 40px;

    ☞内边距特点:

    ☞ 可以移动盒子中的内容位置
    ☞ 内边距可以改变盒子大小,边框也可以改变盒子大小
    ☞ 页面中盒子真正大小计算:
    宽度=width+左右边框+左右内边距
    高度=height+上下边框+上下内边距
    ☞ 内边距改变盒子大小特殊情况:
    ◇如果子元素在没有设置宽度的情况下,给该子元素设置padding值,在其父元素的宽度范围内,padding值不会“改变该子元素的大小”。

    盒子模型之外边距(margin)

    ☞ margin值书写方式:

    margin-left margin-right margin-top margin-bottom

    注意:

    1.外边距不会改变盒子大小。
    2.外边距移动的是盒子整体.
    特点:
    1. 垂直外边距塌陷
    ◇ 给父元素设置边框
    ◇给父元素设置overflow:hidden;给父元素设置overflow:hidden,是因为该属性值触发了元素的bfc(格式化上下文)

    .box { width: 300px; height: 300px; background-color: pink; } .one { width: 100px; height: 100px; background-color: red; }
    .box { width: 300px; height: 300px; background-color: pink; border:1px solid red; }
    .box { width: 300px; height: 300px; background-color: pink; overflow:hidden; }

    2: 垂直外边距合并: 垂直方向上的外边距会以最大值为准。

    div { width: 100px; height: 100px; background-color: red; } .one { background-color: pink; margin-bottom: 100px; } .two { margin-top: 120px; }

    效果图1:

    1151911-20190718150812555-690452221.png
    效果图2:
    1151911-20190718151528055-641476493.png
    效果图3:
    1151911-20190718152055345-1028955531.png
    效果图4:
    1151911-20190718145840931-320357871.png

转载于:https://www.cnblogs.com/carry1107/p/11194229.html

你可能感兴趣的文章
文件拷贝(IFileOperation::CopyItem)
查看>>
MapReduce的 Speculative Execution机制
查看>>
大数据学习之路------借助HDP SANDBOX开始学习
查看>>
Hadoop基础学习:基于Hortonworks HDP
查看>>
为什么linux安装程序 都要放到/usr/local目录下
查看>>
Hive安装前扫盲之Derby和Metastore
查看>>
永久修改PATH环境变量的几种办法
查看>>
大数据学习之HDP SANDBOX开始学习
查看>>
Hive Beeline使用
查看>>
Centos6安装图形界面(hdp不需要,hdp直接从github上下载数据即可)
查看>>
CentOS7 中把yum源更换成163源
查看>>
关于yum Error: Cannot retrieve repository metadata (repomd.xml) for repository:xxxxxx.
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
【NOI 2018】归程(Kruskal重构树)
查看>>
注册用户
查看>>
TZC Intercommunication System
查看>>
HDU 4571 SPFA+DP
查看>>
centos 创建以日期为名的文件夹
查看>>
Java Timer触发定时器
查看>>