Html+CSS二周目--->常用概念
学习css几乎俩周,来总结一下
对于初学者来说,有一些基本的概念是我们应当清楚的。掌握这些概念,可以帮助你更加有效的开发,大大提高开发效率。
1.盒子模型 2.浮动(float) 3.定位(position)
盒子模型
首先我们先聊一聊盒子模型,我们所能够看到的网页,本质上其实都是一个个盒子组成的,通过盒子和盒子的组合,来达到布局效果,所以学习盒子模型的重要性可想而知

我们可以看到盒子模型是由:内容部分(content),padding(内填充),boder(边框),margin(外边距)组成的,我们在网页的任何一个盒子都是这个样子的
padding,margin,boder我们都可以单独设置某一方向上面的值,或者整体设置值
padding的设置是将内容在盒子中来进行一定操控,而margin是盒子和盒子之间位置的掌控
知道了这一点就可以大大提高你在布局方面的效率
浮动
嗯,就是浮动,float属性,这也是一个很重要的概念性东西,在提到这点之前我们先聊一下网页的组成。
网页是盒子组成,但是只是结构上来说,真正本质上网页其实是由元素组成,分别有块级元素和行级元素
块级元素是独占一行的,就像div标签,我们在开发者模式中可以很直观的看到
而行级元素是可以并排在一行之中的,它的长和宽是依照内容来进行变化的,比如span标签,所以对其设置宽和高是没有用处的,不会影响整体的布局
float属性就是浮动,它可以设置为left,right,none
形式上表现为在父级容器的最左边,或者最右边
正常情况下,对于块级元素来说,他是处于标准文档流之中的,但是一但设置浮动之后,该元素就会脱离标准文档流,成为独立出来的一部分,而剩下的元素将会以省略它的方式进行排列。这样子可能会导致布局紊乱,这个时候大神又发明出来一种新方法来解决这个问题。
正常情况

浮动以后

float:left
clear:both;将布局改变的元素直接给清楚浮动,抵消了浮动带给的元素整体的移动,很实用的一点
定位
学会了以上俩种方式我们会发现,我们可以大致将页面布局出来,使用浮动左右排列,但是这种排列并不是很精确的一种方式,这个时候大神又发明了一种方法,定位
定位可以精确严格将元素位置摆放在所期望的位置当中,定位分为三种,相对定位,绝对定位和固定定位,因为固定定位一般很少会用到,所以我们在这里不讲。
相对定位(relative)相对于他在标准文档流之中的位置进行定位,可以设置它偏移属性来改变所处的位置,但是在文档流之中的位置仍然保留

初始图片是按照一列排列,对box2进行了相对定位,给box设置了top,left俩个偏移量。我们可以看到box2在以初始位置来进行定位,而且初始位置在文档流之中还是仍然保留下来。
绝对定位(absolute)绝对定位是依照 最近的已经定位的父元素 来进行定位的,若父元素没有定位,则会按照body来进行定位。且定位元素会脱离标准文档流。

初始图片仍然是按照一列排列, 对父类div进行了相对定位,但不设置偏移量。对box2进行绝对定位,分别给right和buttom偏移量,使得box2以被定位过的父类div为参照物进行定位。可以直观的看出来,绝对定位的元素会脱离标准文档流,会影响到box3的位置。
Html+CSS二周目--->常用概念的更多相关文章
- 201271050130-滕江南-《面向对象程序设计(java)》第十二周学习总结
201271050130-滕江南-<面向对象程序设计(java)>第十二周学习总结 项 目 内 容 这个作业属于哪个课程 https://www.cnblogs.co ...
- 201521123072《java程序设计》第十二周学习总结
201521123072<java程序设计>第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象 ...
- 201521123038 《Java程序设计》 第十二周学习总结
201521123038 <Java程序设计> 第十二周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student ...
- 201771010134杨其菊《面向对象程序设计java》第十二周学习总结
第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分 ...
- 201871010123-吴丽丽《面向对象程序设计(Java)》第十二周学习总结
201871010123-吴丽丽<面向对象程序设计(Java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第十二周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第十二周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nw ...
- 201871010111-刘佳华《面向对象程序设计(java)》第十二周学习总结
201871010111-刘佳华<面向对象程序设计(java)>第十二周学习总结 实验十 集合与GUI初步 实验时间 2019-11-14 第一部分:基础知识总结 第九章知识总结 1. ...
- 201871010101-陈来弟《面向对象程序设计(Java)》第十二周学习总结
201871010101-陈来弟<面向对象程序设计(Java)>第十二周学习总结 实验十 集合与GUI初步 实验时间 2019-11-14 第一部分 理论部分 1.(1) 用户界面 ...
- 201871010104-陈园园 《面向对象程序设计(java)》第十二周学习总结
201871010104-陈园园 <面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
随机推荐
- linux物理内存管理
1.为什么需要连续的物理内存: Linux内核管理物理内存是通过分页机制实现的,它将整个内存划分成无数个4k(在i386体系结构中)大小的页,从而分配和回收内存的基本单位便是内存页了.利用分页管理有助 ...
- UESTC 趣味赛命题报告E
https://lutece.xyz/contest/detail/10/ 题目很简单,套路题: 求n个数中选k个数使得gcd最大: 很容易想到,我们只需要将因子分解出来然后计数即可: (只是这个id ...
- Js 向json对象中添加新元素
即:var json={a:1,b:2} json.c=3 添加新元素直接使用赋值就行了
- P2596 [ZJOI2006]书架(splay)
[题目链接] https://www.luogu.org/problemnew/show/P2596 平衡树,需支持五个操作: 1. 将某元素置顶:将元素旋到根,然后将左子树合并到该元素的后继 2. ...
- 转——.ashx文件与.ashx.cs
作者:PBDragon 原文连接:http://www.cnblogs.com/PBDragon/p/3811831.html 如果项目是“新建网站”,添加的ashx是没有ashx.cs的:如果是新建 ...
- 前端基础------jquer y学习
一. jquery是什么 快速,简洁,轻量级的JavaScript库(JavaScript框架)使用户可以快速的操作HTML document,实现动画效果,并方便的地为网站提供AJAX交互.文档全面 ...
- 读书笔记 - 《毛X东传》
这个书名重复太多,这本的作者是迪克威尔逊.这本书很有意思,可以看出是一个局外人根据残缺不全的资料所写的出来的,而且是结合心理分析的手法主要描述政治历程.总体来说作为传记不够全面,但对于一个中国人来说可 ...
- log4j2重复打印日志问题解决
log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <Configuration> &l ...
- vscode写vue模板--代码片段
Ctrl+Shift+P打开命令输入 snippet (打开用户代码片段) 在输入vue(选择代码片段的语言) 如果搜索不到,安装一个插件 vueHelper 如果搜索到复制粘贴以下代码 { &quo ...
- robotframe 学习笔记1
在robot framework中,通过 Set variable关键字来定义变量 连接对象: 通过Catenate关键字可以连接多个信息 加上"SEPARATOR=",可以对多个 ...