---恢复内容开始---

一继承性

  1.继承: 给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承。

  2. 可继承: color 、 font-*(size)、 text-*(decoration:underline)、line-*(height)  行高 等可以继承(主要是文本级的标签元素)    (a比较特殊)

  3.不可继承 :但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承。

二.层叠性

  层叠性 : 权重大的标签覆盖掉了权重小的标签  (数  id选择器   类选择器   标签选择器各自的数量)

  1.针对于选中的标签谁权重大显示睡的属性; 

简易版 

/*1  0  0 */显示红色
#box{ color: red;
}
/*0 1 0*/
.container{
color: yellow;
}
/*0 0 1*/
p{
color: purple;
}
复杂版
1 <div id='box1' class="wrap1">
2 <div id="box2" class="wrap2">
3 <div id="box3" class="wrap3">
4 <p>再来猜猜我是什么颜色?</p>
5 </div>
6 </div>
7 </div>      #box1 #box2 p{
color: yellow;
} #box2 .wrap3 p{
color: red;
} div div #box3 p{
color: purple;
} div.wrap1 div.wrap2 div.wrap3 p{
color: blue;
}

2.如果权重一样大显示以后设置的属性

1         #box2 .wrap3 p{
2 color: yellow;
3 }
4
5 #box1 .wrap2 p{
6 color: red;
7 }

3.继承下来的属性权重为0,没资格和选中的标签对比.

#box1 #box2 .wrap3{
color: red;
} #box2 .wrap3 p{
color: green;
}

4.如果权重都为0,谁描述的近,(就是选中到最内层的距离越近) 显示谁的属性.(就近原则)

#box1 #box2 .wrap3{
color: red;
}
.wrap1 #box2{
color: green;
}

5.如果权重为0,描述一样近,回归原始状态,继续数权重.

总结:

  1.先看标签元素有没有被选中,如果选中了,就数数 (id,class,标签的数量) 谁的权重大 就显示谁的属性。权重一样大,后来者居上

  2.如果没有被选中标签元素,权重为0。
如果属性都是被继承下来的 权重都是0 。权重都是0:"就近原则" : 谁描述的近,就显示谁的属性

补充:

!important 的使用。

!important:设置权重为无限大

!important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局

三.盒模型:(box model)

(一).定义

  "box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子。我们称为这种盒子叫盒模型。

(二).类型:  标准模型(重点)  和 IE 模型

(三) 盒模型示意图:

(四).盒模型的属性(标准模型)

1.width  内容的宽度

2.height  内容的高度

3.padding: 内边框  边框到内容的距离  (描述父子盒子的关系)

  padding: (一个值)  设置上下左右

  padding: (两个值)  第一个值是上下宽度,第二个值是左右距离

  padding: (三个值)  第一个是上方的宽度,第二个是左右的值,第三个是下方的值

  padding: (四个值)  分别指代上右下左的值(顺时针)

4.border :边框,就是指盒子的边框

(1))三个要素:

  5px: 边框的粗细

  solid: 线性样式

注意

  color: 颜色.

  none (0) 指消除边框

如果颜色不写,默认是黑色。如果粗细不写,不显示边框。如果只写线性样式,默认的有上下左右 3px的宽度,实体样式,并且黑色的边框。

(2)写法

border-width : 3px

border-style : solid    (dotted, double双下划,dashed虚线)

border-color : red

(3)按方向划分

border-top-width: 10px;
border-top-color: red;
border-top-style: solid; border-right-width: 10px;
border-right-color: red;
border-right-style: solid; border-bottom-width: 10px;
border-bottom-color: red;
border-bottom-style: solid; border-left-width: 10px;
border-left-color: red;
border-left-style:solid;

上面12条语句,相当于 bordr: 10px solid red;

另外一种写法:

border-top: 10px solid red;
border-right: 10px solid red;
border-bottom: 10px solid red;
border-left: 10pxb solid red;

(4).用border 来制作小三角

div{
width: 0;
height: 0;
border-bottom: 20px solid red;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
}

5.margin 外边距,盒子边框到最近盒子的距离.   (描述兄弟盒子的关系)

(1).margin塌陷问题:  (垂直方向  解决办法: 只设置一个即可)

 当给两个标准流下兄弟盒子 设置垂直方向上的margin时,那么以较大的为准,那么我们称这种现象叫塌陷 .

当我们给两个标准流下的兄弟盒子设置浮动之后,就不会出现margin塌陷的问题

(2)margin : 0 auto

  当一个div元素设置margin:0 auto;时就会居中盒子,那我们知道margin:0 auto;表示上下外边距离为0,左右为auto的距离,那么auto是什么意思呢?

  设置margin-left:auto;我们发现盒子尽可能大的右边有很大的距离,没有什么意义。当设置margin-right:auto;我们发现盒子尽可能大的左边有很大的距离。当两条语句并存的时候,我们发现盒子尽可能大的左右两边有很大的距离。此时我们就发现盒子居中了。

使用margin:0 auto;注意点

  1.使用margin: 0 auto;水平居中盒子必须有width,要有明确width,文字水平居中使用text-align: center;

  2.只有标准流下的盒子 才能使用margin:0 auto (当一个盒子浮动了,固定定位,绝对定位(后面会讲),margin:0 auto; 不能用了)

  3.margin:0 auto;居中盒子。而不是居中文本,文字水平居中使用text-align: center

总结:善于使用父亲的padding,而不是margin 

标准流下的盒子;

  父子间调整位置使用padding

  margin的塌陷要避免,只设置一个方向

实现如图效果 

坑 :

  因为父亲没有border,那么儿子margin-top实际上踹的是“流” 踹的是行,所以父亲掉下来了,一旦给父亲一个border发现就好了。

解决方案:

  我们不可能在页面中无缘无故的去给盒子加一个border,所以此时的解决方案只有一种。就是使用父亲的padding。让子盒子挤下来。

四.标准文档流

1.宏观:

  宏观的将,我们的web页面和ps等设计软件有本质的区别,web 网页的制作,是个“流”,从上而下 ,像 “织毛衣”。而设计软件 ,想往哪里画东西,就去哪里画

2.微观现象

(1)空白折叠现象

  个空格会被合并成一个空格显示到浏览器页面中。img标签换行写。会发现每张图片之间有间隙,如果在一行内写img标签,就解决了这个问题,但是我们不会这样去写我们的html结构。这种现象称为空白折叠现象。

(2)高矮不齐,底边对齐

  文字还有图片大小不一,都会让我们页面的元素出现高矮不齐的现象,但是在浏览器查看我们的页面总会发现底边对齐

(3)自动换行,一行写不满,换行写

  如果在一行内写文字,文字过多,那么浏览器会自动换行去显示我们的文字。

五.浮动元素 对行内元素和块元素的影响:

  1.如果标准流下的标签浮动,定位(绝对定位,固定定位)了,不区分是行内还是块级元素

  可以任意的设置宽高.

  2.浮动对块级元素的影响,像把块元素转化成行内元素.

  3.浮动不做压盖现象.

---恢复内容结束---

python全栈开发 * 继承性 层叠性 盒模型 标准文档流 * 180809的更多相关文章

  1. CSS层叠的问题、标准文档流、伪类选择器

    一.层叠的问题 CSS有两个性质: 1.继承性 2.层叠性:选择器的一种选择能力,谁的权重大就选谁 层叠性又分为: 1).选不中:走继承性  (font.color.text.) 继承性的权重是0 若 ...

  2. python全栈开发,Day44(IO模型介绍,阻塞IO,非阻塞IO,多路复用IO,异步IO,IO模型比较分析,selectors模块,垃圾回收机制)

    昨日内容回顾 协程实际上是一个线程,执行了多个任务,遇到IO就切换 切换,可以使用yield,greenlet 遇到IO gevent: 检测到IO,能够使用greenlet实现自动切换,规避了IO阻 ...

  3. Python全栈 Web(边框、盒模型、背景)

    原文地址 https://yq.aliyun.com/articles/634926 ......................................................... ...

  4. python全栈开发day39-CSS继承性和层叠性、权重问题、盒模型和其属性、文本级标签和块级标签、浮动

    一.上次内容回顾 1.CSS的三种引入方式: 行内式 内接式 外接式 链接式 导入式 2.基础选择器和高级选择器 1)标签选择器 p{} 2)  id选择器 #nva{} 3) 类选择器 .nva{} ...

  5. python 全栈开发,Day48(标准文档流,块级元素和行内元素,浮动,margin的用法,文本属性和字体属性)

    昨日内容回顾 高级选择器: 后代选择 : div p 子代选择器 : div>p 并集选择器: div,p 交集选择器: div.active 属性选择器: [属性~='属性值'] 伪类选择器 ...

  6. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  7. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  8. 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂

    Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...

  9. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

随机推荐

  1. 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  2. GMM与EM共舞

    GMM,即高斯混合模型(Gaussian Mixture Model),简单地讲,就是将多个高斯模型混合起来,作为一个新的模型,这样就可以综合运用多模型的表达能力.EM,指的是均值最大化算法(expe ...

  3. 通过fiddler和逍遥模拟器模拟抓包android手机

    环境说明 Fiddler/逍遥手机模拟器 安装在10.11.0.148的电脑中 逍遥模拟器会自动生成wifi连接到 10.11.0.148上网 开启https: 在模拟器中打开 http://代理:8 ...

  4. 11.2.0.4 aix下运行第二个节点root.sh报错处理

    第二个节点运行root.sh报错如下 Entries will be added to the /etc/oratab file as needed by Database Configuration ...

  5. 【原创】大数据基础之Spark(5)Shuffle实现原理及代码解析

    一 简介 Shuffle,简而言之,就是对数据进行重新分区,其中会涉及大量的网络io和磁盘io,为什么需要shuffle,以词频统计reduceByKey过程为例, serverA:partition ...

  6. pyhton图片合成模块-PIL

    文章链接:https://www.cnblogs.com/lilinwei340/p/6474170.html python PIL实现图片合成   在项目中需要将两张图片合在一起.遇到两种情况,一种 ...

  7. Java Spring Boot VS .NetCore (一)来一个简单的 Hello World

    系列文章 Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filte ...

  8. C++线程中的几种锁

    线程之间的锁有:互斥锁.条件锁.自旋锁.读写锁.递归锁.一般而言,锁的功能越强大,性能就会越低. 1.互斥锁 互斥锁用于控制多个线程对他们之间共享资源互斥访问的一个信号量.也就是说是为了避免多个线程在 ...

  9. SQL反模式学习笔记11 限定列的有效值

    目标:限定列的有效值,将一列的有效字段值约束在一个固定的集合中.类似于数据字典. 反模式:在列定义上指定可选值 1. 对某一列定义一个检查约束项,这个约束不允许往列中插入或者更新任何会导致约束失败的值 ...

  10. 在SOUI中使用线性布局

    SOUI 2.5.1.1开始支持线性布局(LinearLayout). 要在SOUI布局中使用线性布局, 需要在布局容器窗口里指定布局类型为vbox | hbox, (vbox为垂直线性布局, hbo ...