css: 层叠样式表

1. css引入方式

  • 行内样式

    1. <div style='color:red;'>mjj</div>
  • 内嵌式

    在head标签内部书写style

    1. <style>
    2. /*css代码*/
    3. #box{
    4. background-color: greenyellow;
    5. }
    6. </style>
  • 外接式

    1. <link href='css/index.css' rel='stylesheet'>

三种引入方式的优先级:

  • 1.行内样式>内嵌式和外接式,
  • 2.内嵌和外接要看谁在后面,在后面的优先级高

2. css选择器

2.1 基础选择器

1.id选择器

特定属性的元素(标签)、唯一的

语法: #xxx

2.类选择器

可以重复归类,类也可以设置多个

语法: .xxx

  1. <style>
  2.   .box{
  3.     width:200px;
  4.     height:200px;
  5.     background-color:yellow;
  6.  }
  7. <!--单独设置 1 中某个样式与 2 不一样-->
  8.   .active{
  9.     border-radius: 200px; <!--设置盒子边框-->
  10.  }
  11. </style>
  12. <div class='box active'></div> <!--类1-->
  13. <div class='box'></div> <!--类2-->
  14. <div class='box'></div> <!--类2-->

3.标签选择器

标签选择器有:div{} 、p{} 、ul 、ol ...

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>Title</title>
  4. <style>
  5. a{
  6. /*设置文本修饰*/
  7. text-decoration: none;
  8. }
  9. input{
  10. border:none;
  11. outline:none;
  12. }
  13. #user{
  14. border: 1px solid #555;
  15. height: 60px;
  16. font-size: 20px;
  17. padding: 0 10px;
  18. }
  19. .box {
  20. width: 200px;
  21. height: 200px;
  22. background-color: yellow;
  23. }
  24. .active {
  25. border-radius: 4px;
  26. }
  27. #box{
  28. color: red;
  29. }
  30. div{
  31. border:1px solid #000;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <div class='box active' id="box">wusir</div>
  37. <hr>
  38. <div class='box'></div>
  39. <hr>
  40. <div class='box'></div>
  41. <a href="">百度一下</a>
  42. <input type="text" id="user">
  43. </body>

2.2 高级选择器

1.后代选择器

语法:

  1. /*用空格连接*/
  2. div p{
  3.   color: red;
  4. }

2.子代选择器

语法:

  1. /*用>连接*/
  2. div>p{
  3.   color: red;
  4. }

3.组合选择器

常用于重置样式

语法:

  1. /*用,连接*/
  2. div,p,body,html,ul,ol....{
  3.   padding: 0;
  4.   margin: 0;
  5. }
  6. input,textarea{
  7. border:none;
  8. outline: 0;
  9. }

如何重置网页样式?

  1. html,body,p,ul,ol{
  2. margin: 0;
  3. padding: 0;
  4. }
  5. /*通配符选择器 */
  6. *{
  7. margin: 0;
  8. padding: 0;
  9. }
  10. a{
  11. text-decoration: none;
  12. }
  13. /*清除input和textarea标签的默认边框和外线*/
  14. input,textarea{
  15. border: none;
  16. outline: none;
  17. }

4.交集选择器

span.active

语法:

  1. div.active{
  2.  
  3. }

2.3 伪类选择器

对于a标签,如果想设置a标签的样式,要作用于a标签上,对于继承性来说,a标签不起作用的

“爱恨准则” — LoVe HAte :L - link 、V - visited 、H - hover 、A - active

  1. /*LoVe HAte*/
  2. /*a标签没有被访问时候设置的属性*/
  3. a:link{
  4. /*color: red;*/
  5. }
  6. /*a标签被访问过后设置的属性*/
  7. a:visited{
  8. color:yellow;
  9. }
  10. /*a标签被鼠标悬浮时设置的属性*/
  11. a:hover{
  12. color: deeppink;
  13. }
  14. /*a标签被摁住的时候设置的属性*/
  15. a:active{
  16. color: deepskyblue;
  17. }

2.4 属性选择器

  1. <style>
  2. input[type='text']{
  3. background-color: red;
  4. }
  5. input[type='checkbox']{
  6. }
  7. input[type='submit']{
  8. }
  9. </style>

2.5 伪元素选择器

  1. <style>
  2. /*设置内容中的第一个文字*/
  3. p::first-letter{
  4. color: red;
  5. font-size: 20px;
  6. font-weight: bold;
  7. }
  8. /*在内容前加一个@*/
  9. p::before{
  10. content:'@';
  11. }
  12. /*::after是解决浮动布局常用的一种方法*/
  13. /*在内容后面加一个$*/
  14. p::after{
  15. /*通过伪元素添加的内容为行内元素*/
  16. content:'$';
  17. }
  18. </style>

注意:

  • 1.通过伪元素添加的内容为行内元素
  • 2.::after是解决浮动布局常用的一种方法
  • 3.1个':'是伪类选择器,2个':'是伪元素选择器

3. css的盒模型

1.盒子模型的属性及含义:

  • width: 内容的宽度

  • height:内容的高度

  • padding:内边距(又叫内填充),盒子的border到内容的距离

    • 1.单个属性分别设置不同方向的padding

      1. padding-top 顶部填充的距离
      2. padding-right 右侧填充的距离
      3. padding-bottom 底部填充的距离
      4. padding-left 左侧填充的距离
    • 2.综合属性,多个属性用空格隔开。

      1. /*综合设置:四个方向的内边距为:*/
      2. padding: 20px;
      3. /*盒子的上下内边距设置为第一个数值,左右内边距设置第二个数值*/
      4. /*上 左右 下*/
      5. padding: 0 20px 30px;
      6. /*上 右 下 左*/
      7. padding: 10px 20px 30px 40px;
  • border:盒子的边框

    boder边框三要素:粗细 、线性样式 、颜色

    • 1.按照三要素书写border
    1. border-width:3px; /*边框四边线的粗细*/
    2. border-style:solid; /*边框线样式*/
    3. border-color:red; /*边框线颜色*/
    4. /*上面三句代码相当于一句代码:*/
    5. border:3px solid red;
    6. /*同样,也可以分别设置边框四个方向的粗细 线性样式 颜色,跟padding的四个方向一样。*/
    7. /*上下5px 左右10px*/
    8. border-width:5px 10px;
    9. /*上:实线 右:点状线 下:双线 左:虚线*/
    10. border-style: solid dotted double dashed;
    11. /*上:红色 左右:绿色 下:黄色*/
    12. border-color: red green yellow;
    • 2.按照方向划分
    1. /*boder的顶部边框*/
    2. border-top-width: 10px;
    3. border-top-color: red;
    4. border-top-style: solid;
    5. /*可以简写成*/
    6. border-top: 10px solid red;
    7. /*boder的右侧边框*/
    8. border-right-width: 10px;
    9. border-right-color: red;
    10. border-right-style: solid;
    11. /*可以简写成*/
    12. border-right: 10px solid red;
    13. /*boder的底部边框*/
    14. border-bottom-width: 10px;
    15. border-bottom-color: red;
    16. border-bottom-style: solid;
    17. /*可以简写成*/
    18. border-bottom: 10px solid red;
    19. /*boder的左侧边框*/
    20. border-left-width: 10px;
    21. border-left-color: red;
    22. border-left-style:solid;
    23. /*可以简写成*/
    24. border-left: 10px solid red;
    • 3.清除默认边框

      清除某些标签默认的边框 :border:none; 或者 border:0;

      清除某些标签默认的外边框 :outline: none; 或者 border:0;

    • 4.边框属性

      • 1.设置为圆角或者圆

        语法: border-radius:20px;

        1. <style>
        2. #box{
        3. width: 300px;
        4. height: 300px;
        5. background-color: red;
        6. /*border-radius: 50%;*/
        7. border-radius: 4px;
        8. border: 3px solid blue;
        9. }
        10. #box:hover{
        11. background-color: #000;
        12. }
        13. </style>

        除了同时设置四个圆角以外,还可以单独对每个角进行设置。对应四个角,CSS3提供四个单独的属性:

        • border-top-left-radius
        • border-top-right-radius
        • border-bottom-right-radius
        • border-bottom-left-radius

        这四个属性都可以同时设置1到2个值。如果设置1个值,表示水平半径与垂直半径相等。如果设置2个值,第一个值表示水平半径,第二个值表示垂直半径。

      • 2.设置阴影效果

        语法:box-shadow: h-shadow v-shadow blur color inset;

        h-shadow 水平阴影的位置、距离

        v-shadow 垂直阴影的位置、距离

        blur 模糊距离、程度

        color 阴影的颜色

        inset 将外部阴影 (outset,默认值) 改为内部阴影。

        1. <style>
        2. .box{
        3. width: 200px;
        4. height: 200px;
        5. background-color: #000;
        6. margin: 100px auto;
        7. position: relative;
        8. transition: all .2s linear;
        9. }
        10. .box:hover{
        11. top: -2px;
        12. box-shadow: 0 0 20px red;
        13. }
        14. </style>
  • margin:盒子的外边距,一个盒子到另一个盒子的距离。

    • 水平方向的外边距

      1. /*左外边距*/
      2. margin-left: 30px;
      3. /*右外边距*/
      4. margin-right: 20px;
    • 垂直方向外边距

      margin在水平方向上不会出现问题,但在垂直方向上会出现外边距合并(或重叠)现象,这种现象叫做塌陷问题,会以设置的最大的magrin距离为基准。

      如何避免出现这种问题呢?

      • 为了避免出现塌陷问题,只需要设置一个盒子的一个方向的margin即可。
      1. /*顶部外边距*/
      2. margin-top:50px;
      3. /*底部外边距*/
      4. margin-bottom:30px;
    • 也可以综合设置水平与垂直方向的外边距

      1. /*水平居中*/
      2. margin:0 auto;

2.盒子模型图

css — 选择器、盒子模型的更多相关文章

  1. 这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

    这些HTML.CSS知识点,面试和平时开发都需要 No1-No4   系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) ...

  2. 深入理解CSS系列(一):理解CSS的盒子模型

    接触前端也有好几个年头了,但是,讲实话,对于CSS的理解真的是不敢恭维,相信很多同行也有类似的感受吧!这是为什么呢?因为我们都认为CSS太简单了,没有必要深入学习,果真如此?其实,只不过是自己图样图森 ...

  3. 使用css弹性盒子模型

    提示: 当期内容不充实, 修改后再来看吧 以下称:弹性子元素: 子元素, 弹性容器: 容器 弹性盒子的属性 1. css弹性盒子模型规定了弹性元素如何在弹性容器内展示 2. 弹性元素默认显示在弹性容器 ...

  4. #CSS的盒子模型、元素类型

    CSS的盒子模型.元素类型   本文首先介绍了CSS元素的统一内部结构模型,盒子模型:然后介绍了CSS元素基于不同分类标准定义的元素类型,包括基于不同内容设置方式定义的replaced元素和non-r ...

  5. 深入了解CSS中盒子模型

    CSS中盒子模型介绍 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什 ...

  6. CSS 弹性盒子模型

    CSS 弹性盒子模型 https://www.w3.org/TR/2016/CR-css-flexbox-1-20160526/ CSS Flexible Box Layout Module Leve ...

  7. 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍

    01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline   ...

  8. CSS样式----盒子模型(图文详解)

    盒子模型 盒子中的区域 一个盒子中主要的属性就5个:width.height.padding.border.margin.如下: width:内容的宽度.CSS中 width 指的是内容的宽度,而不是 ...

  9. CSS之盒子模型(深入理解)

    CSS--盒子模型(Box Model) 简介: CSS盒子模型本质上是一个盒子,对网页中绝大部分的HTML元素进行包装定位(外边距,边框,内边距以及实际内容). 但是并不是所有的HTML元素都可以看 ...

  10. css属性 盒子模型

    一.    css属性相关 1.宽和高    1.width可以为元素设置宽度 2. height可以为元素设置高度 3.只有块级标签才可以设置宽度和高度,内联标签并不能设置宽度和高度,及时设置了也不 ...

随机推荐

  1. dubbo+zookeeper搭建时报错java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

    说一下我的环境: jdk1.8 dubbo2.6.1 zookeeper3.4.10 maven3.3.9 搭建demo时报错:java.lang.NoClassDefFoundError: org/ ...

  2. [转]js创建1-100的数组

    //实现方法一:循环赋值var arr1 = new Array(100);for(var i=0;i<arr1.length;i++){ arr1[i] = i;}console.log(ar ...

  3. Redis Desktop Manager的下载及安装

    一.下载Redis Desktop Manager 1. Redis Desktop Manager 的下载路径 (1)https://pan.baidu.com/s/1Jvr9MbgFn4UJh4M ...

  4. javasript模块化

    模块概述 随着一个网站越来越大,html页面文件越来越多,由<script src='xxx.js'></script>引入的js文件越来越多,我们的单个js文件很大,上几万行 ...

  5. 技术干货丨如何在VIPKID中构建MQ服务

    小结: 1. https://mp.weixin.qq.com/s/FQ-DKvQZSP061kqG_qeRjA 文 |李伟 VIPKID数据中间件架构师 交流微信 | datapipeline201 ...

  6. java中 int、char、long各占多少字节数

    所谓的占用字节数 就是申请内存的时候所占的空间大小 byte    1字节 最小值是 -128(-2^7):    最大值是 127(2^7-1): boolean    至少1字节 这种类型只作为一 ...

  7. SQL注入自学[第一学:一个简单的注入环境的编写]

    /* 转载请注明出处 ID:珍惜少年时 */ CODE区域: /*注:现在mysql_connect的这种连接方式已经被放弃了,也就是说不用了,老夫也是新手上路故,下载了一个wampserver2.2 ...

  8. myeclipse打开jsp后卡死的问题详解

    myeclipse打开jsp后卡死的问题详解   1,打开 Window -> Preferences -> General -> Editors -> File Associ ...

  9. python高级知识

    网络udp socket的作用 进程指的是:运行的程序以及运行时用到的资源这个整体称之为进程 socket(简称 套接字) 是最通用的进程间通信的一种方式 创建socket import socket ...

  10. 【Leetcode_easy】720. Longest Word in Dictionary

    problem 720. Longest Word in Dictionary 题意: solution1: BFS; class Solution { public: string longestW ...