css基础篇(三)——布局(上)float和position

1.定位(position)

position的值有:relative/absolute/fixed/static/inherit;

static:为position属性的默认值,static元素会遵循正常的文档流,且会忽略top,bottom,left,right等属性;

inherit:如同其他css的inherit值,即继承父元素的position值(ie不支持)

下面重点介绍前三个值:

1.1 相对定位(relative)

场景描述(如上图):第二个div的位置相对自己向下向右移动30px,但是其它div的位置和大小都没有变化;

  • 1.相对定位的元素遵循正常的文档流;
  • 2.相对定位元素导致自身位置的相对变化,而不会影响其他元素的位置,大小

1.2 绝对定位(absolute)

场景描述(如上图):定位后第二个div脱离文档流,相对于body向右向下移动30px;并且其它元素重新排列;

  • 1.绝对定位元素脱离文档流,会影响其它元素的位置,使其它元素从新排列
  • 2.绝对定位元素的“包裹性”:定位前第二个div在文档流中的宽度是撑满整个屏幕的(这里因为我给每个div定宽了,所在浏览器中查看元素在文档流中占有的空间,可以不定宽,效果会更加明显),定位后其宽整好是内容的宽
  • 3.绝对定位元素设置left,top,right,bottom是相对于包含有position属性的父元素来说的,如果向上查找不到含有position属性的父元素,该绝对定位元素就会相对于window定位;

1.3 固定定位(fixed)

固定定位和绝对定位具有大部分相同的特性,不同之处在于上面说到绝对定位的第三条:固定定位是在任何情况下都是相对于window定位的;

2.浮动(float)

对于float的讲解,张鑫旭讲的float已经非常全面了,此处也是在看完视频后的一个总结

2.1 float最初的作用

在div+css还没有火爆的时候,float主要的作用就是实现文字环绕效果(如上图)

2.2 float的破坏性

>

场景描述:比较图1(图片没有加浮动)和图2(图片加了浮动)发现父元素的高度发生了“坍塌”,这就是float的“破坏性”(究其原因就是设置float的元素脱离了文档流)

2.3 float的包裹性

场景描述:如图在没有设置float的时候,div的宽度会撑满整个屏幕;设置float后,div的宽度会自动调整到包裹起内容的宽度

2.3 清除浮动

flaot有破坏性,但是我们又需要用它,机智的工程师自然会找到更好的解决方案:那就是清除浮动

    • 1.给父元素加浮动(可能你向上加一直加到body,显然是不可取的)
    • 2.为父元素加overflow:hidden;(有些情况下不适用:比如你需要在父元素上定位一个元素显示在父元素的外面尔尔...)
    • 3.clear:both;
    • 4.clearfix:这是目前最为好的解决方案(代码如下:此处就不再上图了,该篇的图似乎有点多)
.clearfix:after{
	content:"";
	display:table;
	clear:both;
}
.clearfix{
	*zoom:1;
}
时间: 2024-10-13 21:31:21

css基础篇(三)——布局(上)float和position的相关文章

Python基础篇(三)

元组是序列的一种,与列表的区别是,元组是不能修改的. 元组一般是用圆括号括起来进行定义,如下: >>> (1,2,3)[1:2]     (2,) 如果元组中只有一个元素,元组的表示有些奇怪,末尾需要加上一个逗号: >>> (1,2,3)[1:2]     (2,) >>> 3*(3)      9      >>> 3*(3,)      (3, 3, 3) tuple函数 tuple函数用于将任意类型的序列转换为元组: >&

CSS基础篇之了解CSS和它的基本属性

CSS是什么? CSS英文全名是Cascading Style Sheets翻译过来就是层叠样式表,它主是把网页表现与内容分离的一种样式设计语言.这种语言能优化我们编程,把东西简化和优化写法,而且不同的浏览器有不同的CSS前缀 如果你用的是charome和safari,前缀就是-webkit 如果你用的是firefox,前缀是-moz 如果你用的是IE,前缀是-ms 如果你用的是opera,前缀是-o CSS能做什么? CSS简化了以前要使用很多图片和脚本实现的效果,只需几行代码就能搞定.方便了

HTML+CSS基础课程三

1.文字排版--字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性.下面我们来看一个例子,下面代码实现:为网页中的文字设置字体为宋体. body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果用户本地电脑上如果没有安装你设置的字体,就会显示浏览器默认的字体.(因为用户是否可以看到你设置的字体样式取决于用户本地电脑上是否安装你设置的字体.)现在一般网页喜欢设置"微软雅黑",如下代码: body{font-family

CSS基础学习三:CSS语法

CSS语法分为基础语法和高级语法. 一CSS 基础语法 (1)CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明,请使用花括号来包围声明. selector {declaration1; declaration2; ... declarationN } 选择器通常是您需要改变样式的 HTML 元素.每条声明由一个属性和一个值组成.属性(property)是您希望设 置的样式属性(style attribute).每个属性有一个值.属性和值被冒号分开. selector {

css基础篇(三)——布局(下)

之所以将浮动,定位归为布局来讲,就是因为css布局技术都依赖于三个基本概念:定位,浮动和空白边的操纵; 1.固定宽度布局 1.1 居中布局 如上图:是pc端比较时髦的居中设计,而实现居中设计的方案有: 1.自动空白实现(如上图) .main{ width:1000px; marign:0 auto; } 2.定位和负值空白边 .main{ positon:relative; width:1000px; left:50%; margin-left:-500px; } 1.2 多栏布局 如上图:利用

新旅程CSS 基础篇分享一

在上一篇HTML完结篇中,已经给大家对CSS做了一个了解.本片博主将不再赘述,直接进入知识点,归纳总结: 一.CSS 三种书写的方式 嵌入式.外链式.行内式 嵌入式就是将CSS写入在<style></style> 外链式将外面的CSS文件通过HTML中的标记链接过来 <link  rel="stylesheet"  type="text/css"  href="外部CSS文件的地址" /> 行内式:就是将CSS

CSS基础(三)

一.权重问题深入 1.1 同一个标签,携带了多个类名,有冲突: 1 <p class="spec1 spec2">我是什么颜色?</p> 2 <p class="spec2 spec1">我是什么颜色?</p> 和在标签中的挂类名的书序无关,只和css的顺序有关: 1 .spec2{ 2 color:blue; 3 } 4 .spec1{ 5 color:red; 6 } 7 </style> 红色的.因为

CSS 基础篇、绝对有你想要

本章内容: 简介 CSS 定义 四种引入方式 样式应用的顺序 选择器(Selector) * 通用元素选择器 标签选择器 class 类选择器 # ID选择器 , 多元素选择器 后代元素选择器 > 子元素选择器 + 毗邻元素选择器 [] 属性选择器 伪类选择器 常用属性 颜色属性(color .transparent.opacity) 字体属性(font-style. font-weight.font-size. font-family.font) 文本属性(white-space.direct

CSS基础篇

本章内容: 简介 CSS 定义 四种引入方式 样式应用的顺序 选择器(Selector) * 通用元素选择器 标签选择器 class 类选择器 # ID选择器 , 多元素选择器 后代元素选择器 > 子元素选择器 + 毗邻元素选择器 [] 属性选择器 伪类选择器 常用属性 颜色属性(color .transparent.opacity) 字体属性(font-style. font-weight.font-size. font-family.font) 文本属性(white-space.direct