1、css的三大特性之继承性

    1.什么是继承性:给我们的父元素设置一些属性,子元素也可以使用2.并不是所有的标签都有继承性,只有以color\font-\text-\line开头的元素才能使用继承性3.在css的继承中不仅仅只是儿子可以集成,后代都是可以集成父级的特性的4.继承性中的特殊性:4.1:a标签的文字颜色 和下划线是不能继承的4.2:h标签的文字大小是不能继承的,要想修改标题的大小,你只能单独给它设置5.应用场景:企业开发中,一般用于设置网页上的共性,例如网页上的文字颜色,字体,文字大小等
复制代码

2、css的三大特性之层叠性

    1.什么是层叠性:就是某一个属性把另一个属性给覆盖掉了;也就是说层叠性就是css处理冲突的一种能力2.层叠性只有在多个选择器选中“同一个标签”,让后又设置了相同的属性,这是层叠性就会起作用3.css的全称就是:Cascading Style Sheet (层叠样式表)
复制代码

3.css的三大特性之优先级

    1.什么是优先级:但多个选择器选中同一个标签时,并且给同一个标签设置相同属性时,如何层叠就是通过优先级来确定的2.优先级判断的三种方式2.1:是否是直接选中(间接选中就是指继承),如果是我们的间接选中,那个目标标签比较近就听谁的(如ul 和 li之间的关系);2.2:是否是相同的选择器  如果都是直接选中,并且都是同类型的选择器,那么谁写在后面就听谁的(如两个p同时存在)2.3:不同选择器:如果都是直接选中,并且不是相同类型的选择器,那么就会按照选择器的优先级来层叠,id>类>标签>通配符>继承>浏览器默认(优先级从高到低)
复制代码

4、css优先级中的!important

    1.important作用:用于提升某个直接选中标签的选择器中的某个属性的优先级的,可以被指定的属性的优先级提升为最高2.格式p{width:200px;height:200px;background:red !important;}
复制代码

5、优先级中的权重问题

    1.多个选择器混合在一起使用时,我们可以通过计算权重判断谁的优先级最高2.权重计算规则:首先计算选择器中有多少个id,id多的选择器优先级最高,如果id的个数一样,再看类名多的,类名多个优先级高,如果类名的个数一样,再看标签名称的个数,标签个数多的优先级高。如果id个数一样,类名个数一样,标签名称个数一样,这是就不会向下计算了,这是就看谁写在后面就听谁的
复制代码

6、div和span标签

    1.div作用:一般用于配合css完成网页的基本布局2.span作用:一般用于配合css修改网页中的信息3.div与span的区别:3.1:div会单独占领一行,而span不会单独占领一行的3.2:div是一个容器级别的标签,span是一个文本级别的标签4.容器级别的标签和文本级别的标签的区别:4.1:容器级别的标签其中可以嵌套其他标签(div h ul ol dl li ...)4.2:文本级别的标签一般只能嵌套文字,超链接 图片(p span buis strong em ins del  )4.3:那些标签是文本级的那些标签的容器级的不需要特意去记忆,在企业开发中,要嵌套都是嵌套到div或者按照组别中去的
复制代码

7、元素的显示模式

    1.在HTML中间所有的标签分为两类,分别是容器级和文本级2.在css中css也将所有的标签分为两类,分别是块级元素和行内元素3.块级元素会独占一行,行内元素不会独占一行的4.块级元素:所有的容器标签都是块级元素+p5.行内元素:所有的行内元素都是行内元素。除了p标签之外6.块级元素和行内元素的区别:6.1:块级元素会独占一行6.2:如果没有设置宽度,默认和父元素一样宽6.3:如果设置了宽高就会按照设置的来显示6.4:行内元素不会独占一行6.5:行内元素不能设置宽度和高度的,如果要设置宽度和高度,需要将行内元素设置为块级元素或者行内块级元素6.6:2.3行内块级元素:为了能够让块级元素既不独占一行,行内元素可以独占一行又可以设置宽度和高度,通过设置display: inline-block;
复制代码

8、css显示模式的转换

    1.如何转换css元素的显示模式:inline(块级)  block(行内)  inline-block(行内块级)2.可以通过display属性设置是行内元素还是块级元素 还是行内块级元素
复制代码

9、背景的平铺

    1.如何控制背景的平铺:在css中有一个background-repeat属性,就是专门用来控制背景图片的平铺方式的,取值为:repeat(默认) repeat-x(只在水平方向平铺) repeat-y(在垂直方向平铺) no-repeat(在水平方向和垂直方向都不需要平铺)2.应用场景:可以通过背景图片的平铺来降低图片的大小,提升网页的访问速度,起到一点性能优化的效果
复制代码

10、背景图片的定位属性

    1.背景定位:background-position:水平方向,垂直方向;就是专门用来控制背景图片位置的;取值:具体的方位名词 或像素2实例://style部分<style>height:500px;widht:500px;background-image:url('图片对应的地址');background-position: -100px 0px;</style>//html部分<div class="box1"></div>3.注意点:3.1:同一个标签可以设置背景颜色和背景图片,如果颜色和图片同时存在,图片会覆盖颜色3.2:一定要写单位;具体的像素可以接受负值3.3:背景的位置是相对于背景图片而言的;对背景颜色不会起作用的3.4:实现背景图片的内容居中的格式:background-position:center top;(固定格式)这样写的好处是重要的信息居中显示,不中要的信息可有可无。
复制代码

11、背景关联和缩写

    1.背景属性缩写的格式:background:背景颜色 背景图片 平铺方式 关联方式 定位方式;2.例如:background: red  url(images/QQ.png) no-repeat center bottom;3.背景的关联方式:background-attachment:;取值为:scroll(默认) fixed(表示背景不会随着文字滚动)4.背景图片和插入图片的区别:4.1:背景图片仅仅只是一个装饰,不会占用位置,插入图片会占用位置4.2:背景图片有定位属性:所以很方便的控制图片的位置4.3:插入图片没有定位属性,所以控制图片的位置很不方便4.4:插入图片的语义要比背景图片的强,所以在企业开发中如果你的图片想要被搜索引擎收录,推荐使用插入图片
复制代码

12、CSS精灵图

    1.精灵图说白了就是但背景图片比盒子大时,默认情况下是显示背景图片的左上角,但是通过背景定位属性就可以定位背景图片中的任意一部分内容,所以这样的图片被叫做精灵图,精灵图也称作:css sprite(也叫雪碧图)2.在精灵图的制作过程中,测量出的整数,必须以负数对待3.css sprite可以起到性能优化的作用,可以较少http的请求
复制代码

13、边框属性

    1.什么是边框:边框就是环绕在标签宽度和高度周围的线条2.连写(同时设置四条边的边框):border:边框的宽度 边框的样式 边框的颜色3.border-top:边框的宽度 边框的样式 边框的颜色4.border-right:边框的宽度 边框的样式 边框的颜色5.border-bottom:边框的宽度 边框的样式 边框的颜色6.border-left:边框的宽度 边框的样式 边框的颜色7.另一种连写格式:7.1:border-width:上 右 下 左7.2:border-style:上 右 下 左7.3:border-color:上 右 下 左
复制代码

14、内边距属性

    1.边框与内容之间的距离2.非连写格式2.1:padding-top:2px;2.2:padding-right:2px;2.3:padding-bottom:2px;2.4:padding-left:2px;2.5:连写格式:padding:2px;
复制代码

15、外边距属性

    1.标签和标签之间的距离称之为外边距2.连写格式:margin:2px;3.非连写格式3.1:margin-top: 2px;3.1:margin-right: 2px;3.1:margin-bottom: 2px;3.1:margin-left: 2px;4.注意点:下面的这种写法在不设置外边距的情况下,中间也是会有一点距离的,这不是外边距造成的而是他们中间通过换行造成了空格的现象<span>我是一个span</span><span>我是一个span</span>
复制代码

16、外边距合并现象

    1.在水平方向上margin是不会出现合并现象的,不会出现叠加现象。也就是说他们会正常的显示2.在默认垂直方向上才会出现margin的合并现象,谁的外边距大就听谁的,用F12谷歌的开发者工具就可以查看3.注意点:盒子的背景颜色是不会填充外边距的,但是它会填充内边距的。
复制代码

17、盒子模型

    1.什么是CSS盒子模型:仅仅只是一种比喻,html中所有标签都是盒子。2.结论:所有的标签都可以设置宽度,高度 外边框 内边框3.宽度==指可以存放内容的区域4.内边距==填充物5.边框==手机盒子自己6.外边距==盒子与盒子之间的距离7.内容的宽度和高度:就是通过标签的width和height设置的宽度和高度8.元素的宽度和高度:宽度=左边框+左内边距+width+右内边距+右边框;高度:同理可证9.元素空间的宽度和高度:宽度=左边的外边距+左边框+左内边距+width+右内边距+右边框+右边的外边距;高度:同理可证9.注意点:9.1:增加了padding后元素的宽度和高度也会发生变化9.2:如果增加了padding之后还想保持元素的宽高,那么就必须减小内容的宽度,或者通过:box-sizing:border-box;控制10.css3中新增了一个box-sizing属性,这属性可以保证我们给盒子新增padding或border属性后盒子的高度和宽度不会发生变化11.取值:content-box元素的宽高等于:边框+内边距+内容的宽高;border-box元素空间的宽高=width属性12.注意点:12.1:如果两个盒子是嵌套关系,那么设置里面盒子的顶部外边距,外面一个盒子也会被顶下去,会被顶下去是因为此时设置了外边距的盒子会把body当做参考系12.2:为了防止这个问题:给外面的盒子添加一个边框属性12.3:在企业开发中一般需要控制嵌套关系盒子之间的距离,应该首先考虑padding,其次在考虑margin,因为margin本质是用来控制兄弟关系之间的间隙,设置了padding属性完全可以不设置外面盒子的边框12.4:在嵌套关系的盒子中我们可以通过设置margin:0 auto;的方式让里面的盒子在外面的盒子中水平居中,如果要垂直居中必须通过像素控制
复制代码

18、盒子居中和内容居中的区别

    1.text-align:center;设置盒子中存储的内容水平居中2.margin:0 auto;让盒子自己水平居中
复制代码

19、清除默认边距

    1.为什么要清除默认边距(外边距和内边距):在企业开发中为了很好的控制盒子的宽度和计算盒子的宽高等等,所有企业开发中,编写代码之前做的第一件是就是清空默认的边距2.格式*{margin:0;padding:0;//注意点:通配符选择器会匹配页面中多有的元素,性能是比较低的}3.我们可以直接使用别人已经写好的清除默认边距的代码就可以了。https://yuilibrary.com/yui/docs/cssreset/
复制代码

20、行高和字号

    1.什么是行高:在css中所有的行都有自己的行高2.文字在行高中默认是垂直居中的3.在开发中我们经常将行高和盒子的高度设置为一样就能保证文字在盒子中垂直居中,简而言之:要想让一行文字在盒子中垂直居中,只需设置这行文字的行高等于盒子的高度即可4.在开发中如果一个盒子中有多行文字,那么我们就不能通过设置行高等于盒子的高度来实现文字垂直居中,只能设置padding来让文字居中
复制代码

21、网页的布局

    1.什么是网页的布局:网页的布局就是指浏览器如何对网页中的元素进行排版的2.常见的排版方式:2.1:标准流(文档流/普通流)排版方式1.其实就是浏览器的默认排版方式2.在css中将元素分为三类,分别是块级 行内 行内块级3.在标准流中有水平排版和垂直排版2.2:浮动流排版方式1.浮动流是一种“半脱离标准流”的排版方式2.浮动流只有一种排版方式就是水平排版,它只能设置某个元素左对齐和右对齐3.浮动流没有居中对齐,也就是说在浮动流中是没有margin 0 auto;的,是因为浮动流中元素只有左对齐或者右对齐4.在浮动流中是不区分块级和行内元素的,无论是行内还是块级都能水平排版5.在浮动流中无论是行内还是块级都能设置宽高6.综上所述:浮动流中的元素和标准流中的行内块级元素很像2.3:定位流排版方式
复制代码

22、浮动元素的脱标

    1.脱标指:脱离标准模式2.当某一个元素浮动之后,那么这个元素看上去就像被从标准流里面删除了一样,这个就是浮动元素的脱标3.浮动元素脱标的影响:如果前面一个元素浮动,后面一个元素没有浮动,后面一个元素就会自动顶上去。前面一个元素会浮动在后面一个元素上面4.浮动元素的排序规则:4.1:相同方向的浮动元素,先浮动的元素会显示在前面,后浮动的元素会显示在后面4.2:不同方向的浮动元素,左浮动会找到左浮动,右浮动会找有浮动4.3:浮动元素浮动后的位置,由浮动元素之前在标准流中的位置来确定5.浮动元素的贴靠现象:同一方向后浮动的元素会去找上一个元素贴靠,父元素宽度不够时,一次往前找6.浮动元素的字围现象:可以用来做图文混排的效果,通过设置图片的浮动属性
复制代码

23、标准流和浮动流的使用

    1.在开发中垂直方向使用标准流 水平方向使用浮动流2.拿到一个复杂项目的编写方式:从上而下,从外向内,水平方向可先划分为一左一右,在对左边或者右边一步一步进行布局
复制代码

24、浮动元素的高度问题

    1.在标准流当中,内容的高度可以撑起父元素盒子的高度2.一个浮动的元素是不能撑起父元素的高度的,因为元素一浮动相当于飘在了上面,就跟下面的元素感觉没有关系了3.浮动的元素是不占用标准流的位置的
复制代码

25、清除浮动的5中方式

    //style部分<style>*{margin: 0;padding: 0;}.box1{background-color: red;}.box2{background-color: green;}  .box1 p{width:100px;background:blue;}.box2 p{width:100px;baclground:yellow;}p{float:left;}</style>//HTML部分<div class="box1"><p>我是文字1</p><p>我是文字1</p><p>我是文字1</p></div><div class="box2"><p>我是文字2</p><p>我是文字2</p><p>我是文字2</p></div>1.方式一:给前面一个父元素设置高度,但是我们在开发中能不写高度就不写高度,所以这种方法很少用2.方式二:给第二个盒子添加clear属性2.1:clear属性是指定在段落的左侧或右侧不允许出现浮动的元素2.2:取值:none:默认的取值,按照浮动元素的排序规则来排序(左浮动找左浮动,右浮动找右浮动)2.3:left:告诉浏览器不要找前面的左浮动元素2.4:right:告诉浏览器不要找前面的右浮动元素2.5:both:不要找前面的左浮动和有浮动元素(开发中用的最多)2.6注意点:1.当我们给某个元素添加clear属性后,这个元素的margin属性就会失效,2.为什么margin-top属性会失效:如果是父子元素,给子元素设置margin-top,而父元素没有border,那么父元素会跟着被顶下来。这时的父元素他认为是body了,因此才会失效,该body添加边框,margin-top就会起作用3.方式三:隔墙法3.1:内墙法:在第一个盒子的所有子元素最后面添加一个额外的块级元素,一般添加div,给这个额外的块级元素添加一个clear:both;属性3.2:注意点:内墙法可以使用margin-bottom和margin-top属性3.3:外墙法:就是在两个盒子之间添加一个额外的块级元素,给这个额外的块级元素添加一个clear:both;属性3.4:外墙法它可以让第二个盒子使用margin-top属性,但是不能给第一个盒子设置margin-bottom属性,在开发中我们可以不设置margin-top和margin-bottom属性3.5:外墙法和内墙法的区别:内墙法可以撑起第一个盒子的高度,外墙法是不能撑起第一个盒子的高度的3.6:无论是外墙法还是内墙法,都需要添加块级元素,这种办法开发中不怎么常用,因为开发总遵循结构和内容相分离4.方式四:通过给第一个盒子设置伪元素的方式,这种方法也是目前开发中用的比较多的格式:.box1::after{content:'';//添加的子元素的内容为空display:block;//设置添加的元素为块级元素height:0;//设置添加的元素高度为0visibility:hidden;//设置添加的子元素不可见clear:both;//这一行一定要写}注意点:这种写法有一个注意点就是IE6以及版本过低的浏览器的兼容问题,解决办法:.box1{ *zoom: 1;}5.方式五:给第一个盒子设置overflow:hidden;6.overflow:hiddel的作用:6.1:可以将超出标签的内容裁剪掉6.2:可以清除浮动6.3:两个盒子嵌套时,如果外边的盒子没有边框,给里面的盒子设置了margin-top属性,大盒子也会被顶下去,但是又不想设置大盒子的边框,以前的做法是给外面的一个盒子设置一个边框,现在的做法是给大盒子设置overflow: hidden;就会消除大盒子不被顶下去的效果复制代码

26、伪元素选择器

    1.什么是伪元素选择器:就是给指定标签的内容前面或者后面添加一个子元素,这是css3新增的一个属性2.格式//style*{margin:0;padding:0;}div::before{//after也是可以的content:'我是段落'//添加内容的属性width:100px;//设置伪元素的样式宽度和高度height:100px;display:block;//显示模式visibility:hidde;//隐藏这个伪元素的属性}//html<div class="box">我是文字</div>
复制代码

转载于:https://juejin.im/post/5c810ae7f265da2dd218f79a

前端笔记—第4篇CSS基础知识2相关推荐

  1. 〖前端开发〗HTML/CSS基础知识学习笔记

    经过一天的学习,把慕课网的HTML/CSS基础知识学完了,笔记整理: 1. 文件结构:HTML文件的固定结构:<html><head>...</head><b ...

  2. 学习笔记:SpringCloud 微服务技术栈_实用篇①_基础知识

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 前言 学习视频链接 SpringCloud + RabbitMQ + Docker + Redis + 搜 ...

  3. 前端开发入门:html和css基础知识回顾2

    HTML+CSS基础知识 1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外 链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被 ...

  4. 学习笔记(二)——CSS基础

    文章目录 一.什么是CSS 二.CSS基本使用 2.1.行内式(内联样式) 2.2.内部样式 2.3.外部样式 2.3.1.嵌入式 2.3.2.导入式 三.选择器 3.1.基础选择器 3.1.1.标签 ...

  5. css点击a标签显示下划线_好程序员HTML5培训教程-html和css基础知识

    好程序员HTML5培训教程-html和css基础知识,Html是超文本标记语言(英语全称:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言. Css ...

  6. CSS基础知识(一):选择器

    文章目录 前言 一.CSS基础知识 二.选择器 1.选择器 2.基础选择器 2.1 标签选择器 2.2 类选择器 2.3 id选择器 2.4 通配符选择器 2.5 基础选择器总结 3.复合选择器 3. ...

  7. HTML/CSS基础知识(四)

    WEB标准和W3C的理解与认识 Web标准是一系列标准的集合. 网页主要由三部分组成:结构(Structure).表现(Presentation)和行为(Behavior). 对应的标准也分三方面:结 ...

  8. html css基础知识

    1 这是自己学习html时候做的一些记录,供大家参考 <!-- 2 块和内联3 块元素:独占一行的元素4 div p h ul5 div没有任何语义,就是一个纯粹的快元素6 就是为了方便布局7 ...

  9. HTML+CSS基础知识简单版

    HTML+CSS基础知识简单版 一.HTML概述 HTML:超文本标记语言,其实就是用来开发网页的一门语言: CSS:层叠样式表,可以用于渲染网页.美化网页.做网页. 1.HTML介绍 HTML:超文 ...

  10. CSS基础知识---三种选择器

    CSS基础知识---三种选择器 选择器 标签选择器 id选择器 class选择器 全部代码 选择器 标签选择器 id选择器 class选择器 标签选择器 选择器优先级:id>class>标 ...

最新文章

  1. 如果用中文编程....那么... (如果..那么...这搭配很完整吧)
  2. 【数据结构总结】第八章 排序
  3. 一分钟了解阿里云产品:企业级分布式应用服务EDAS五大热点技术问题分析
  4. html去除radio的样式,【HTML+CSS】纯CSS设置checkbox大小和样式 附Radio的去除默认样式和自定义样式...
  5. IOS 公共类-数字处理
  6. 软件测试-开始软件测试
  7. 计算机知识选择题库,计算机基础知识篇选择题库
  8. 8月18日梦记录及分析
  9. Java关流对流对象有什么影响_Java面试题全集(1.4)
  10. 在Ubuntu中安装Python科学计算环境
  11. 微信和qq默认表情代码对照表及表情文件下载
  12. centos7安装redis并设置开机启动
  13. Python实战回归模型-消费者人群画像-信用智能评分(基于中国移动用户数据)
  14. 七夕将至,20行js代码给女友做个卡通P图微信机器人
  15. 智慧灯杆新功能:微雾降尘
  16. L2UWE: A Framework for the Efficient Enhancement of Low-Light Underwater Images阅读札记
  17. Python简单操作爬取微博热搜榜(表格.xls模式存储)
  18. vscode 中 django基本操作
  19. 世界数学难题——哥尼斯堡七桥问题 哥尼斯堡七桥问题
  20. ajax下拉列表模糊,JS仿百度自动下拉框模糊匹配提示

热门文章

  1. 20、淘宝技术这十年
  2. 展讯DTS路径及编译
  3. Oracle instr用法
  4. Java基础之continue与break区别
  5. 【 理想的机器学习书】
  6. HDR色调映射(一):基础概念
  7. 如何以管理员方式管理文件
  8. Adaboost python实现
  9. Radar altimeters and laser altimeters
  10. JavaSE集合框架-01-集合框架体系及表数据结构