display、position、float----笔记

1、元素分为行元素(span、input。。。)和块元素(div、ul。。。)

行元素:在一行中平行排列,不能改变其宽度和高度,自身高度被其内容撑开。

块元素:垂直排列,可以修改其宽和高(top、right、bottom、left),自身带有自动换行功能。

2、display

display的常用属性:

(1)none:脱离文档流,内容和空间都隐藏(overflow:hidden;内容隐藏,空间依然显示)

(2)inline:行内元素

(3)block:块元素

(4)inline-block:行内块元素(水平显示的块元素)

3、position

position的常用属性:

(1)inhert:规定应该从父元素继承 position 属性的值。

(2)static:默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。

(3)relative:生成相对定位的元素,相对于元素本身正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

(4)absolute:绝对定位。如果父元素设置了相对定位,则相对于父元素的位置进行绝对定位;如果父元素没有设置相对定位,则相对于body进行绝对定位。

(5)fixed:也是绝对定位。相对于浏览器窗口的定位。通过top、left、right、bottom来设置。

eg:position的例子

<!--普通流-->
        <div style="width: 300px;border: 2px solid greenyellow;">
            <div style="width: 100px; height: 100px; "></div>
            <div style="width: 100px; height: 100px; "></div>
            <div style="width: 100px; height: 100px; "></div>
        </div>
        <br />

<!--相对定位-->
        <div style="width: 300px;border: 2px solid greenyellow;">
            <div style="width: 100px; height: 100px; "></div>
            <div style="width: 100px; height: 100px; position: relative; top:20px; left: 20px;"></div>
            <div style="width: 100px; height: 100px; "></div>
        </div>

相对定位:相对于自己改变位置,通过移动位置后,原来占据的空间依然还在。只是表现形式变了。

<!--相对父元素的绝对定位-->
        <div style="width: 300px;border: 2px solid greenyellow;position: relative;">
            <div style="width: 100px; height: 100px; "></div>
            <div style="width: 100px; height: 100px; position: absolute; top:20px; left: 20px;"></div>
            <div style="width: 100px; height: 100px; "></div>
        </div>

绝对定位:该元素不占据文档流空间,脱离文档流。不给其设置top和left值(如下图),该元素不会显示出来。因为脱离文档流,所以可以覆盖在其他元素上,可以设置z-index值。

相对于body的绝对定位:

fixed属性:不管浏览器如何滚动,该属性一直在浏览器窗口的左下方

<div style="width: 300px;border: 2px solid greenyellow; ">
            <div style="width: 100px; height: 100px; "></div>
            <div style="width: 100px; height: 100px; position: fixed; bottom: 20px;"></div>
            <div style="width: 100px; height: 100px; "></div>
        </div>

4、浮动:float(left | right)---------元素脱离文档流,不会影响不浮动元素

(1)

红框左移,覆盖蓝框

(2)都左移

该例子父元素没有设置高度。浮动元素不会撑开父元素的高度。

(1.可以设置清除浮动   2.给父元素设置BFC    这二者可以撑开父元素高度-----待续)

清除浮动方法:1.在父元素里最后设置一个空div-----一般不建议使用

2.:after伪类---不需要再多加div来清除

父元素的内容会撑开父元素的高度:

(3)父元素空间不够

(4)子元素其中高度太高被挤

(5)非浮动元素有内容(这个div被称为行框---文档流中元素)

这是正常div显示效果

当给第一个div加左浮动后:红色覆盖在蓝色上面,行框会像浮动元素一样不存在,但是内容会受浮动元素影响,为浮动元素腾出空间。

(用术语说就是浮动元素旁边的行框被缩短,从而给浮动元素流出空间,因而行框围绕浮动框。)

要想阻止行框内容被挤,需要在该div加清除浮动:

引用------http://www.cnblogs.com/baimiaolei/p/5627755.html

时间: 2024-08-28 18:18:43

display、position、float----笔记的相关文章

css(display,float,position)

display 用来设置元素的显示方式 display : block | none | inline | inline-block inline:指定对象为内联元素 block:指定对象为块元素 inline-block:指定对象为内联块元素 none:隐藏对象 float 控制元素是否浮动显示 float : none | left | right none:设置对象不浮动 left:设置对象浮在左边 right:设置对象浮在右边 浮动的目的: 就是要打破文档流的默认显示规则.如果要让元素按

display、 float 、position

1. display(元素显示模式) display 属性用来设置元素的显示方式. block 块对象指的是元素显示为一个方块,默认显示状态下将占据整行,其它的元素只能另起一行显示. inline 行间对象与block刚好相反,它允许其它元素在同一行显示. none 隐藏对象 CSS Display - 块和内联元素 块元素是一个元素,占用了全部宽度,在前后都是换行符. 块元素的例子: <h1>.<p>.<div> 内联元素只需要必要的宽度,不强制换行. 内联元素的例子

转发- css(display,float,position)

此文章仅为转发,非原创,原文http://www.cnblogs.com/zhuanggege/p/5778309.html 请支持原创 display 用来设置元素的显示方式 display : block | none | inline | inline-block inline:指定对象为内联元素 block:指定对象为块元素 inline-block:指定对象为内联块元素 none:隐藏对象 float 控制元素是否浮动显示 float : none | left | right non

505,display,float,position之间的关系(有疑问)

(display属性设置元素如何显示) 如果display取值为none,那么position和float都不起作用,这种情况下元素不产生框 否则,如果position设置框是绝对定位,float的计算值就为none,display根据下面的表格进行调整 否则,float不是none,框是浮动的,display根据下表进行调整 否则,如果元素是根元素,display根据下表进行调整 其他情况下,display的值是指定值 总之:绝对定位,浮动,根元素都需要调整display 原文地址:https

css的position,float属性的理解

我们知道,html是按照普通流来加载的,这个时候我们有些需求就不好实现.因此出现了非普通流: 1.普通流:按照顺序正常的排列,长度或不够就往下挤.position默认的static 2.非普通流:脱离了普通流(不按照普通流渲染),后面介绍的有position的relative, absolute, fixed以及float属性.尤其是float属性,滥用情况非常. 以下所说的"脱离普通流"是指不按照正常普通流的方式渲染,不要和单独一层混谈! static: 处于普通流,也就是按照普通流

CSS中几个初涉元素&lt;position&gt;&lt;float&gt;

刚接触CSS不是太长时间  对于CSS基本属性也是略懂 就在这里做一个总结 CSS会更多的延用HTML中的一些基本属性  例如文字属性的改变方式 <span>元素  <p>元素 而CSS更多的优点是体现在对于页面布局 和页面整体美感的设置上   <div>元素就很好的解决了整体页面的布局问题 对于现在所掌握的技术而言  <div>元素更多是用在为整个图形界面定义一个坐标 要提到深受喜爱的<div>  当然离不开其中一个重要的元素 <posi

1.display:flex布局笔记

/*display:flex布局方式主要运用于垂直居中的效果*/ 一.Flex译为Flexible Box(弹性盒子),任何一个容器都可以指定为Flex布局 注:设置为Flex布局之后,子元素的float,clear,vertical-align属性都失效 1 .box1 { 2 display : flex 3 } 4 .box2 { 5 display : inline-flex 6 } 7 .box3 { 8 display : -webkit-flex; 9 display : flex

CSS——display和float

1.display 属性规定元素应该生成的框的类型. 值 描述 none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元素前后没有换行符. inline-block 行内块元素.(CSS2.1 新增的值) list-item 此元素会作为列表显示. run-in 此元素会根据上下文作为块级元素或内联元素显示. compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除. m

css float笔记

float 1.破坏性,让设置了float属性的元素脱离文档流 2.包裹性:div设置了float之后,其宽度会自动调整为包裹住内容宽度,而不是撑满整个父容器.如果没有包裹性,如何实现文字环绕(float初衷) 3.清除空格:因为脱离了文档流,所以换行.空格都跟它没关系了 源自:http://www.cnblogs.com/wangfupeng1988/p/4314160.html

CSS定位布局display/float/position属性之间的关系/区别和如何使用取值行为机制

float: left|right; 可以自动排列自动折行, 但需要clear来配合清除浮动;display: inline-block; 有些时候可以替代float实现相同的效果.position: absolute|relative; 要配合top,left等定位; position: absolute会导致元素脱离文档流,被定位的元素等于在文档中不占据任何位置,在另一个层呈现,可以设置z-index.PS的图层效果就是position: absolute. float也会导致元素脱离文档流