css高级选择器&盒模型

1.组合选择器
  • 群组选择器

    /* 每个选择器为可以为三种基础选择器的任意一个,用逗号隔开,控制多个*/
    div,.div,#div{
        color:red
    }
  • 后代(子代)选择器

    /*后代选择器:用空格将父级和子级连接*/
    .sup .sub{
        color:red
    }
    
    /*子代选择器:用 > 将父级和子级连接,即父级 > 子级*/
    .sup > .sub{
        color:red
    }
    1.子代选择器是(一级嵌套关系)
    
    2.后代选择器(一级或者多级嵌套关系)
  • 兄弟(相邻)选择器

    /*兄弟选择器:用~连接*/
    .up ~ .down{
        color:red
    }
    
    /*相邻选择器:用+连接*/
    .up + .down{
        color:red
    }
    1.相邻选择器必须为直接相邻关系(必须挨着)
    
    2.兄弟选择器可以为直接或者间接相邻关系(必须是同一级,可以相邻,也可以相间)
  • 交集选择器

    <div class="ss" id="dd"></div>
    
    div.ss.#dd{
        color:red
    }
2.复杂选择器的优先等级
1.与修饰符位置无关

2.属性选择器与类选择器的优先级相同

3.优先级大前提: id选择器   无限大于    类选择器[属性选择器]   无限大于  标签选择器

4.优先级权重:

            if id个数多,则优先级高,else 判断类选择器个数
            if 类选择器个数多,则优先级高,else 判断标签选择器个数
            if 标签选择器个数多,则优先级高,else 个数和类型均相同则由位置决定
            
3.伪类标签选择器
  • a标签四大伪类选择器

    /*悬浮: 鼠标悬浮到链接上,链接显示红色*/
    a:hover{color:red}
    
    /*访问时: 访问链接时,链接显示为绿色*/
    a:active{color:green}
    
    /*未访问: 未访问链接时,链接为蓝色*/
    a:link{color:blue}
    
    /*已访问状态: 访问过链接后,链接为黑色    注意浏览器会有记录*/
    a:visiter{color:black}
  • 索引伪类选择器

    /*位置优先: 每层结构中第一取出来,再匹配标签是否是section*/
    section:nth-child(3)
    
    /*类型优先: 每层结构中先取出标签为section,然后在取出的section中匹配位置第一的*/
    section:nth-of-type(1)
    1. 位置: 最后一个为last-child()
    
    2. 类型: 最后一个为last-of-type()
  • 取反伪类选择器

    /*先确定对谁取反,然后加上not*/
    :not(nth-child(2))
4.盒模型
# 什么是盒模型?

通配选择器能够控制的页面标签都是盒模型(一般我们操作的都是块级标签)

# 盒模型由什么作用?

页面书写的标签初始状态级别都不能满足显示要求,需要再次再次修改,修改的就是盒模型的各个属性。

# 盒模型组成部分?

content(内容) + padding (内边框) + border (外边框) + margin(边距)
  • content(内容)

    1.通过设置 width 和 height 来规定content
    
    2.块级标签可以设置自身宽高,默认宽为父级宽(width=auto),高为0,高度可以由内容决定
    
    3.内联标签不可以设置自身宽高,默认宽高均为0,宽高一定由内容决定
    
    4.是子标签或子内容的显示区域
    # 1.参与盒子显示,颜色为background-color
  • padding (内边框)

    # padding 组成:
    
      padding-top|right|bottom|left
    # 1.参与盒子显示,颜色为背景色
  • border (外边)

    # border 组成
    1.border-width
    
        border-top|right|tobbom|left-width
    
    2.border-color
    
      border-top|right|tobbom|left-color
    
    3.border-style
    
      border-top|right|tobbom|left-style
    # 1.border: 参与盒子显示,颜色由自己定义(transparent 为透明)
  • margin (边距)

    # margin 组成
    
      margin-top|right|bottom|left
    # 1.没有颜色,不参与盒子显示,决定何止布局(位置信息)
  • margin坑一:父子联动

    当上下移动子box时,父级的box也会跟着移动
    /*解决方法:固定父级box的dorder或者padding*/
      .sup{
            border-top:1px solid transparent
      }
    /*解决方法二*/
    .sup{
        padding-top:1px ;
    }
    
  • margin坑二:上兄弟margin-bottom与下兄弟margin-top重合

    解决方法:只设置一个,建议设置下兄弟的margin-top

css高级选择器&盒模型的更多相关文章

  1. Python-ccs高级选择器 盒模型

    css高级选择器与盒模型 脱离文档流 ,其中就是产生了BFC 1.组合选择器 - 群组选择器 /* 每个选择器位可以位三种基础选择器的任意一个, 用逗号隔开, 控制多个 */ div, #div, . ...

  2. web开发: css高级与盒模型

    一.组合选择器 二.复制选择器优先级 三.伪类选择器 四.盒模型 五.盒模型显示区域 六.盒模型布局 一.组合选择器 <!DOCTYPE html> <html> <he ...

  3. 浅谈css中的盒模型(框模型)

    css中的盒模型是css的基础,盒模型的理解可以帮助我们进行对样式进行修改.废话不多说,进入正题: 在w3c中,CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边框.边框 和 外边 ...

  4. 李洪强和你一起学习前端之(6)css行高,盒模型,外边距

    李洪强和你一起学习前端之(6)css行高,盒模型,外边距 复习昨天的知识 1.1css书写位置: 内嵌式写法 外联式写法 <link href = "1.css" rel = ...

  5. 87.CSS Flex 弹性盒模型布局教程(共用的css在48篇文章gird)

    CSS Flex 弹性盒模型布局教程 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. flex布局就是给任何一个容器添加 dis ...

  6. day40 css高级选择器

    一.高级选择器 高级选择器分为:后代选择器.子代选择器.并集选择器.交集选择器 后代选择器 使用空格表示后代选择器.顾名思义,父元素的后代(包括儿子,孙子,重孙子) .container p{ col ...

  7. (4)《Head First HTML与CSS》学习笔记---文本的CSS规则和盒模型;div与span;<a>元素的链接色;伪类

    1.每个font-family包含一组共同特征的字体.共五个字体系列: sans-serif----这个系列包括了没有衬线的字体,与serif相比,通常认为这个系列更容易在计算机上识读. serif- ...

  8. 一分钟让你明白CSS中的盒模型

    想必初学者对CSS盒模型总是很困惑吧.下面一分钟让你彻底明白盒模型: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" &q ...

  9. CSS学习笔记——盒模型,块级元素和行内元素的区别和特性

    今天本来打算根据自己的计划进行前端自动化的学习的,无奈早上接到一个任务需求需要新增一个页面.自从因为工作需要转前端之后,自己的主要注意力几 乎都放在JavaScript上面了,对CSS和HTML这方面 ...

随机推荐

  1. linux查看文件夹大小du命令

    查看1级(--max-depth=1)目录的大小,并排序 参考 -h或–human-readable 以K,M,G为单位,提高信息的可读性. –max-depth= 超过指定层数的目录后,予以忽略 d ...

  2. jQuery自定义alert,confirm方法及样式

    学过JavaScript的都知道,alert().confirm()都是window对象特有的方法,而这两个方法我们平时使用的频率也很高,但是比较扎心的就是他自带的样式太... 因此,我整理了一个比较 ...

  3. Linux下NFS的搭建与配置

    一.简介 1.NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布. 2.NFS可实现Linux系统之间的文件 ...

  4. # 20175213 2018-2019-2 《Java程序设计》第1周学习总结

    在本周的java学习中,我收获了很多也遇到了很多的困难1.在寒假的预学习中,因为没能完全的安好虚拟机,导致在本周的学习一开始,虚拟机就崩溃了,所以又重新开始重头安装虚拟机.但因为网速等各种问题,虚拟机 ...

  5. 微信公众号Java接入demo

    微信公众号Java接入demo 前不久买了一台服务,本来是用来当梯子用的,后来买了一个域名搭了一个博客网站,后来不怎么在上面写博客一直闲着,最近申请了一个微信公众号就想着弄点什么玩玩.周末没事就鼓捣了 ...

  6. 【Django】数据迁移问题

    最近发现,Django在修改models之后重新生成迁移文件(这里可以生成),再进行数据库迁移的时候老是出错,查询数据库时老是找不到表格或者字段. 尝试过重新新建项目,新建一个同名APP,然后mode ...

  7. django 在centos 7 下 指定ip地址和端口 报错问题

    windows environment: python manage.py runserver host:port centos environment: python manage.py runse ...

  8. javascript函数闭包(closure)

    一,首先感受下javascript函数的闭包 二,闭包 1,定义:闭包就是能够读取其他函数内部变量的函数,由于在javascript语言中,只有在函数内部的子函数才能够读取局部变量,因此可以把闭包简单 ...

  9. linux命令大全(1)

    当用户使用linux系统时,其实在和Shell在打交道,当用户发出指令,其实先将这些指令发送给Shell, 然后由Shell将用户的指令翻译后传送给内核,再由内核来控制硬件的工作. 然后内核将硬件的工 ...

  10. 20172306 2018-2019《Java程序设计与数据结构课堂测试补充报告》

    学号 2017-2018-2 <程序设计与数据结构>课堂测试补充报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 刘辰 学号:20172306 实验教师:王志强 必 ...