浮动和定位

css的三种布局方式:

1.标准流: 从上面往下面布局

2.浮动

3.定位

在标准流下,分为三种元素:

块级元素

行内元素

行内块元素

浮动的值:

float: left  right

浮动的特点:

1.可以使元素排成一行

2.脱标: 脱离标准流(半脱标),不占位置

3.后面浮动的盒子应该排列在前面浮动盒子的后面

4.做文字环绕效果: 文字会环绕着浮动的盒子显示

5.使行内元素可以设置宽高

6.如果父盒子宽度不足以显示子盒子的内容,子盒子会往下面显示

总宽高:  502 290

左边盒子宽高: 302 290

右边上盒子: 190 140

右边下盒子: 190 140

--------------------------------------

清除浮动不是把浮动干掉,清除浮动带来的影响

浮动的影响: 使父盒子没有高度 (父盒子高度由子盒子高度撑起)

1.给父盒子设置高度  (一般不怎么使用)

2.给父盒子设置overflow: hidden;

(一般少用)

原理:  设置了overflow: hidden,触发bfc机制: block formatting context,块级排版上下文,划定一块区域,让该区域里面的所有的html元素按照一定的规则进行排列,不影响其他元素的布局(显示)

overflow: hidden; 超出父元素部分隐藏

auto; 超出父元素内容,出现滚动条

overflow:hidden;清除浮动,在有定位的时候不适合使用

3.在父元素里面添加一个空的块级子元素,并且设置clear:both;  (left,right)

程序员修改代码结构  (一般不用)

4.本质上是第三种方法,不会修改结构

伪类选择器:

选择器名:hover {}

选择器名:after: 在选择器里面的最后面添加一项内容

IE低版本不支持:after

高级浏览器

.clear-fix:after {

content: "";

display: block;

clear: both;

}

低级浏览器

.clear-fix {

zoom: 1;

}

---------------------------------------

浮动元素不给宽度,默认宽度为内容的宽

浮动的三要素:

1.一般给宽度,不要给高度(一般由子元素撑起)

2.同级的元素,只要一个设置浮动,所有的都应该设置浮动

3.只要给子元素设置了浮动,那么父元素必须清除浮动

设置inline-block,空格,默认为与文字的基线对齐

vertival-align: top


1.标准流(文档流) : 从上往下布局

2.浮动

3.定位 : 设置标签元素的位置,结合四个方向属性来设置位置

top: 距离上方的位置

bottom: 距离下方的位置

left: 距离左边的位置

right: 距离右边的位置

设置定位: position

1.静态定位(static): 以前用的定位其实就是静态定位,在静态定位的时候,四个方向属性值是不起作用的

2.绝对定位(absolute)

3.相对定位(relative)

4.固定定位(fixed): 把一个标签元素固定在某一块位置

后面三种定位,方向属性值都是起作用的

绝对定位:

1.脱离标准流

2.可以使行内元素设置宽高

3.参考点:

a.祖宗盒子没有定位的情况下,以body,浏览器窗口的左上角作为参考点

b.如果盒子间发生嵌套关系,并且子盒子设置绝对定位,参考点就是具有定位的祖宗盒子;如果所有的祖宗盒子都没有定位,那么还是以body,浏览器的左上角作为参考点

相对定位:

1.不是脱离标准流

2.不可以使行内元素设置宽高

3.参考点,以元素的当前位置作为参考

作用:

a.元素位置的微调

b.父相子绝 (父盒子相对定位,子盒子绝对定位)

盒子的居中显示:

margin: 0 auto;

如果盒子设置为绝对定位,auto不起作用

margin的负边距布局

margin为正值的时候

margin-left: 盒子往右边跑

margin-top: 盒子往下边跑

margin为负值的时候

margin-left: 盒子往左边跑

margin-top: 盒子往上边跑

如果盒子有绝对定位,让盒子居中,一般就是给该盒子设置以下样式:

width: 200px;

heigth: 200px;

left: 50%;

top: 50%;

margin-left: -100px;

margin-top: -100px;

注: margin-left的值和margin-top值,为盒子宽高的一半

固定定位: fixed,将元素固定在网页的某个位置

1.脱离标准流

2.可以使行内元素设置宽高

3.参考点: 以body,浏览器左上角

z-index: 设置元素的堆叠顺序,值是一个数值,谁的值大,那么就显示在最上面

注意点:

1.如果要想使z-index值生效,必须设置定位(绝对,相对,固定定位)

2.z-index的比较,只在同级比较

A a,B b,如果A的z-index值大于B,那么无论b的z-index值是多少,都不可能显示在最上面

颜色:

1.单词,red,blue

2.十六进制

3.rgb()

4.rgba(r,g,b,a) : a透明度的意思  0-1,1代表不透明,0代表透明

rgba仅仅是颜色的透明度变化

opacity: 0-1 ,0 代表完全透明,1代表不透明

opacity的透明指的是元素所有的内容,包括内容,背景颜色

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,806评论 1 92
  • 浮动 CSS允许浮动任何元素。 浮动元素 首先,会以某种方式将浮动元素从文档的正常流中删除,不过它还是会影响布局。...
    exialym阅读 1,251评论 0 6
  • 1. 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动元素:元素脱离正常的文档流,...
    lingfighting阅读 811评论 1 4
  • 浮动元素特征 对父容器、其他浮动元素、普通元素、文字的影响 浮动会使应用此属性的元素脱离文档流。按指定的位置来移...
    ezrealor阅读 406评论 0 0
  • 我有一壶酒,足以慰风尘。 醉卧香雪海,暗香惹愁闷。 梅瓣沾衣袂,自尤怜花魂。 相思泪盈眸,心挂妙趣人。
    若水生花阅读 240评论 0 1