源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
查看: 416|回复: 15

[CSS] 深究CSS定位position的常用技法

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2016-4-26 10:14:01 | 显示全部楼层 |阅读模式
这篇文章主要针对CSS定位position的常用技法进行探究,CSS中的position等属性确实有很多需要认真考究的地方,本文就和大家一起探索一下

本文针对CSS常用的6个属性进行探究,大家一定会对这篇文章满意的。

1.position:static

static属性是position的默认值,也就是说,当一个元素没有为其设定position属性时,它的默认值就是static。

2.position:absolute

这是一个经常会被用到的position属性值。如果为某个元素设定了absolute,则该元素脱离原来的文档流。形象一些说,比如a元素被定义了position:absolute,那么这个元素就不会与这个页面中的其他元素发生位置上的关系,而是凌驾于整个页面之上的漂浮状态。页面中的其他元素的位置变化、大小变化等,都不会影响a元素的位置,相当于一个局外人。

3.position:relative

relative是最有用的定义方法。设置了relative属性表示,该元素相对于自己原来位置发生的变化。比如,我们定义了一个b元素,给它设定如下css样式:

CSS Code复制内容到剪贴板
  1. #b{     
  2.     position: relative;     
  3.     width:100px;     
  4.     height:100px;     
  5.     top:100px;     
  6. }     

该段代码定义的b元素,它的位置为相对于没有定义position属性的位置向下移动100px的距离。relative属性值的定义就是这样的定位模式。

4.position:fixed

fixed定位用的不多,但是它非常适用于固定模式的部分制作,比如顶部菜单。定义了fixed属性后,元素的位置不会随着任何行为发生变化。

5.relative+position

同时使用这两个定位,是一种很常用的手法,新手也可能会在此处遇见很多麻烦。总体来说,如果一个元素绝对定位后,其参照物是以离自身最近元素是否设置了相对定位,如果有设置将以离自己最近元素定位,如果没有将往其祖先元素寻找相对定位元素,一直找到html为止。比如,下面的代码利用二者的结合实现了一个两列布局;

CSS Code复制内容到剪贴板
  1. <span style="white-space:pre">    </span>#div-1 {     
  2.              position:relative;     
  3.             }     
  4.             #div-1a {     
  5.              position:absolute;     
  6.              top:0;     
  7.              rightright:0;     
  8.              width:200px;     
  9.             }     
  10.             #div-1b {     
  11.              position:absolute;     
  12.              top:0;     
  13.              left:0;     
  14.              width:200px;     
  15.             }     

内部的两个子div会根据其外部定位为relative的元素为参照进行绝对定位。

6.clear:both清除浮动

有的时候定位会出现塌陷现象,即子元素在父元素中,但是父元素的大小不会随着子元素的大小而被“”撑开“,导致了父元素的塌陷效果。这种bug的出现是由于子元素设定了 float属性,导致父元素的坍塌。要想解决这种bug,需要为父元素设定清除浮动。示例代码如下:

CSS Code复制内容到剪贴板
  1. <span style="white-space:pre">    </span>    #div-1a {     
  2.              float:left;     
  3.              width:190px;     
  4.             }     
  5.             #div-1b {     
  6.              float:left;     
  7.              width:190px;     
  8.             }     
  9.             #div-1c {     
  10.              clear:both;     
  11.             }     

以上就是关于CSS定位中常用的六个属性学习,希望对大家的学习有所帮助。

回复

使用道具 举报

0

主题

2万

回帖

194

积分

注册会员

Rank: 2

积分
194
发表于 2022-8-9 05:32:29 | 显示全部楼层
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
回复 支持 反对

使用道具 举报

4

主题

2万

回帖

303

积分

中级会员

Rank: 3Rank: 3

积分
303
发表于 2022-8-13 17:09:02 | 显示全部楼层
下载来瞧瞧
回复 支持 反对

使用道具 举报

0

主题

8878

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2022-12-20 11:49:21 | 显示全部楼层
vcxvcxv
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

124

积分

注册会员

Rank: 2

积分
124
发表于 2023-4-27 07:00:06 | 显示全部楼层
谢谢分享,先下来用用
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

115

积分

注册会员

Rank: 2

积分
115
发表于 2023-9-15 07:15:26 | 显示全部楼层
那三门,你们谁寂寞才快乐撒
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2023-9-19 06:05:56 | 显示全部楼层
啦啦啦啦啦啦哈哈哈
回复 支持 反对

使用道具 举报

14

主题

1万

回帖

75

积分

注册会员

Rank: 2

积分
75
发表于 2024-3-11 05:14:03 | 显示全部楼层
你们谁看了弄洒了可能
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

55

积分

注册会员

Rank: 2

积分
55
发表于 2024-6-13 04:02:01 | 显示全部楼层
还可以不错
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-7-1 00:30:37 | 显示全部楼层
哟哟哟哟哟以偶
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-22 03:32 , Processed in 0.147691 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表