float浮动布局(慕课网CSS笔记 + css核心技术详解第四章)
----------------------------------------------------------------------
CSS中的position:
CSS三种布局方式:
标准流:网页中默认的布局方式,即顺序布局。html元素可以分为两大类:块级元素(div,h1…h6,ol,ul,li,table,p段落等)和内联元素(a超链接,span文字,img图片,input控件)。块级元素总是独占一行,内联元素是和相邻的内联元素在同一行,如果一行内宽度不够时,才被挤到另一行上去。;
定位:position定位属性通过改变正常的标准流,以非正常的方式迫使元素脱离标准流。position属性决定了元素如何进行定位,通过top,right,bottom,left实现位置的改变。
position中有5个可选的参数: (层级概念:定位的元素总是在普通流的上面,除非手动指定 z-index 属性,当z-index的值设置小于0时,将会被标准流盖住。)
static:默认值,元素按照标准流的方式进行正常的排列,在一个原本你想定位,后来又不想要定位的元素上就可以使用这个属性,一般配合javascript来使用。
relative是指相对定位,使用了position:relative的元素任然处于正常的文档流中,relative元素按照原来在标准流中的位置进行定位,可以通过top,right,bottom,left来改变元素的位置,当设置元素的left和top属性时,元素相对于网页的最左起始点为原点,向右为x轴正方向,向下为y轴正方向,当我们设置了right和bottom属性,元素相对于网页的最左起始点为原点,向左为x轴正方向,向上为y轴正方向。有了层级的概念。父元素定位到哪,子元素也会跟随到哪。
absolute:绝对定位,使用了absolute属性的元素通过设置left,right,top,bottom等值,使absolute元素脱离正常的文档流进行布局,在整个网页中都拥有了层级的概念,后写的元素将覆盖先写的元素,越后面的元素层级越高。如果absolute元素的父元素不具有定位属性,那么absolute元素将以网页窗口的四个角进行定位,反之如果它在一个定位的父元素里,那么它的定位起点将在父元素的当前位置上进行定位(根据包含块的位置来初始化子元素的位置)。当设置元素的left和top属性时,元素相对于网页窗口的最左起始点为原点,向右为x轴正方向,向下为y轴正方向,当我们设置了right和top属性,元素相对于网页窗口的最右端起始点为原点,向左为x轴正方向,向下为y轴正方向。当我们设置了left和bottom属性,元素相对于网页窗口的最左下角起始点为原点,向右为x轴正方向,向上为y轴正方向。当我们设置了right和bottom属性,元素相对于网页窗口的最右下角起始点为原点,向左为x轴正方向,向上为y轴正方向。一个行内元素一旦设置了这个属性,其宽度,高度等属性将会生效。父元素定位到哪,子元素也会跟随到哪。
fixed:固定定位,使用了fixed固定定位的元素配合top,right,bottom,left这四个位置属性来设置元素的位置,元素会脱离正常的文档流,在整个浏览器窗口(视口)进行定位,并拥有层级的概念,带有fixed固定定位的元素将在整个窗口进行位置移动,常用的使用场景有对联广告,登陆弹窗等,和absolute决定定位类似,left:0px;top:0px的位置在窗口左上角,right:0px;top:0px的位置在窗口右上角,left:0px;bottom:0px的位置在窗口左下角,right:0px;bottom:0px的位置在窗口右下角,(任何元素对固定定位fixed是没有约束力的,即使固定定位元素的父元素有定位属性。)一般情况下都会将absolute的元素放在relative里面,这样它总是跟随父元素走。
inherit:继承父元素的定位属性。;
float浮动布局:
带有float浮动属性的元素都会变成块级元素,脱离文档流进行布局,但是float元素依然占据正常文档流文本空间。CSS三种布局方式:标准流,定位,浮动。浮动使得元素脱离了正常的标准流,浮动的元素不再占有原始标准流中的空间,会导致父元素无法检测子(浮动)元素的高度,而产生父元素高度塌陷的问题。浮动副作用(父元素高度塌陷)问题的解决:1.手动给父元素添加高度。2.通过clear清除内部和外部的浮动。clear属性的四个参数:clear:none,clear:left不允许左边有浮动的对象,clear:right不允许右边有浮动的对象,clear:both不允许有浮动的对象。 3,给父元素添加overfloat属性并结合zoom:1使用。overflow是用来处理溢出问题的。overflow:hidden会截取超出父元素之外的元素,使其不可见。zoom:1是ie专用的一个属性,通过子元素的总体高度来放大缩小父元素的高度,导致父元素拥有了高度。4,给父元素添加浮动。
float浮动布局(慕课网CSS笔记 + css核心技术详解第四章)的更多相关文章
- Float浮动(慕课网学习笔记)
float浮动 属性:值 意义 float:left 左浮动 float:right 右浮动 float:none 不浮动 float:inherit 继承父元素浮动属性,若父元素没有浮动属性则失效 ...
- 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析
第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...
- Css深入理解之浮动_慕课网课程笔记
前言 这篇是在慕课网上跟着张鑫旭重走CSS之路的第三篇学习笔记了,主要是学习float属性,闲话少说,下面进入正文. float的历史 要想了解一个东西,我们还是需要从本质去了解它,那么我们就需要问一 ...
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- css样式继承规则详解
css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...
- css之Grid Layout详解
css之Grid Layout详解 CSS Grid Layout擅长将页面划分为主要区域,或者在从HTML基元构建的控件的各个部分之间定义大小,位置和图层之间的关系. 与表格一样,网格布局使作者能够 ...
- css 之position用法详解
css 之position用法详解: http://www.jb51.net/web/77495.html
- DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)
css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | han ...
- Css盒模型属性详解(margin和padding)
Css盒模型属性详解(margin和padding) 大家好,我是逆战班的一名学员,今天我来给大家分享一下关于盒模型的知识! 关于盒模型的属性详解及用法 盒模型基本属性有两个:padding和marg ...
随机推荐
- Java多线程与并发——死锁与中断线程
过多的同步有可能出现死锁,死锁的操作一般是在程序运行的时候才有可能出现. 多线程中要进行资源的共享,就需要同步,但同步过多,就可能造成死锁. 死锁例子: package com.vince; /** ...
- Linux Shell命令系列(3)
11. chown命令 “chown”命令就是改变文件拥有者和所在用户组.每个文件都属于一个用户组和一个用户.在你的目录下,使用"ls -l",你就会看到像这样的东西.root@t ...
- JDK11 | 第七篇 : ZGC 垃圾收集器
一.简介 Java 11包含一个全新的垃圾收集器--ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间. 在本文中,我们将介绍开发新GC的动机,技术概述以及由ZGC开启的一些可能性. ...
- 《nginx 一》dns解析 nginx安装
DNS域名解析 整个过程大体描述如下,其中前两个步骤是在本机完成的,后8个步骤涉及到真正的域名解析服务器:1.浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程就结束. ...
- Angular8稳定版修改概述
在今天早些时候Angular团队发布了8.0.0稳定版.其实早在NgConf 2019大会上,演讲者就已经提及了从工具到差分加载的许多内容以及更多令人敬畏的功能.下面是我对8.0.0一些新功能的简单介 ...
- Ceres Solver: 高效的非线性优化库(二)实战篇
Ceres Solver: 高效的非线性优化库(二)实战篇 接上篇: Ceres Solver: 高效的非线性优化库(一) 如何求导 Ceres Solver提供了一种自动求导的方案,上一篇我们已经看 ...
- js的语法糖?
++“”里面的+“”默认被变成“0”了 前端多写了个+号导致的bug,网址后面多一个0.虽然不知道是什么原因,但是感觉是js的隐式替换
- linux启动mysql报错 Starting MySQL... ERROR! The server quit without updating PID file (XXXX pid文件位置)
最近在云服务器上安装mysql 启动时报错了,从错误中可以看出,定位在pid文件上,有三种解决方案 1.重启服务器:因为服务器更新时,可能会禁用某些守护进程,重启后即可恢复 2.删除配置文件,重启试 ...
- .gitignore梳理
参考来源: https://www.cnblogs.com/kevingrace/p/5690241.html 对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来 ...
- 利用expect实现自动化操作
管理机上需要安装expect包 yum -y install expect 1.定义主机ip [root@localhost ~]# cat ip.txt 192.168.1.12 192.168.1 ...