博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
⑥HTML+CSS 定位
阅读量:3966 次
发布时间:2019-05-24

本文共 2612 字,大约阅读时间需要 8 分钟。

定位


本人是个新手,写下博客用于自我复习、自我总结。

如有错误之处,请各位大佬指出。
学习资料来源于:尚硅谷


定位

position属性可以控制Web浏览器如何以及在何处显示特定的元素。即可以使用position属性把一个元素放置到网页中的任何位置。

• 可选值:
static 默认值,元素是静止的没有开启定位
relative 开启元素的相对定位
absolute 开启元素的绝对定位
fixed 开启元素的固定定位
sticky 开启元素的粘滞定位


相对定位 ※

• 每个元素在页面的文档流中都有一个自然位置。相对于这个位置对元素进行移动就称为相对定位。周围的元素完全不受此影响。

• 当将position属性设置为relative时,则开启了元素的相对定位。
• 当开启了相对定位以后,可以使用top、right、bottom、left四个属性对元素进行定位。

  • 相对定位的特点:
    1.元素开启相对定位以后,如果不设置偏移量元素不会发生任何的变化
    2.相对定位是参照于元素在文档流中的位置进行定位的
    3.相对定位会提升元素的层级
    4.相对定位不会使元素脱离文档流
    5.相对定位不会改变元素的性质块还是块,行内还是行内

例:

    
相对定位
1
2
3

效果图:

在这里插入图片描述


绝对定位 ※

• 绝对定位指使元素相对于html元素或离他最近的祖先定位元素进行定位。

• 当将position属性设置为absolute时,则开启了元素的绝对定位。
• 当开启了绝对定位以后,可以使用top、right、bottom、left四个属性对元素进行定位。

  • 绝对定位的特点:
    1.开启绝对定位后,如果不设置偏移量元素的位置不会发生变化
    2.开启绝对定位后,元素会从文档流中脱离
    3.绝对定位会改变元素的性质,行内变成块,块的宽高被内容撑开
    4.绝对定位会使元素提升一个层级
    5.绝对定位元素是相对于其包含块进行定位的

例:

    
绝对定位
1
4
5
2
3

固定定位 ※

• 固定定位的元素会被锁定在屏幕的某个位置上,当访问者滚动网页时,固定元素会在屏幕上保持不动。

• 当将position属性设置为fixed时,则开启了元素的固定定位。
• 当开启了固定定位以后,可以使用top、right、bottom、left四个属性对元素进行定位。
• 固定定位的其他特性和绝对定位类似。

例:

    
固定定位
1
4
5
2
3

粘滞定位 ※ (导航条)

    
导航条

需要注意的是,有些浏览器是不能使用这种定位的。


绝对定位元素的布局

水平布局:

left + margin-left + border-left + padding-left + width + padding-right + border-right + margin-right + right = 包含块的内容区的宽度

当我们开启了绝对定位后:

水平方向的布局等式就需要添加left 和 right 两个值。
此时规则和之前一样只是多添加了两个值。

当发生过度约束:

如果9个值中没有 auto 则自动调整right值以使等式满足
如果有auto,则自动调整auto的值以使等式满足

可设置auto的值:margin width left right

因为left 和 right的值默认是auto,所以如果不指定left和right。则等式不满足时,会自动调整这两个值

垂直方向布局的等式的也必须要满足:

top + margin-top/bottom + padding-top/bottom + border-top/bottom + height = 包含块的高度

    
绝对定位元素的布局

元素的层级 z-index ※

• 当元素开启定位以后就可以设置z-index这个属性。

• 这个属性可以提升定位元素所在的层级。
• z-index可以指定一个整数作为参数,值越大元素显示的优先级越高,也就是z-index值较大的元素会显示在网页的最上层。

例:

    
元素的层级
1
2
3
4

如果类box1层级为2的效果图:

在这里插入图片描述
如果类box1层级为4的效果图:
在这里插入图片描述
祖先的元素的层级再高也不会盖住后代元素。也就是说就算类box3层级再高,也不会覆盖类box4.

转载地址:http://yoyki.baihongyu.com/

你可能感兴趣的文章
Android自定义控件实战——仿多看阅读平移翻页
查看>>
Android自定义控件实战——仿淘宝商品浏览界面
查看>>
Android自定义控件实战——水流波动效果的实现WaveView
查看>>
Android自定义控件实战——水波纹标签云TagCloud
查看>>
Android自定义控件实战——滚动选择器PickerView
查看>>
Android自定义控件实战——下拉刷新控件终结者:PullToRefreshLayout
查看>>
Android事件分发、View事件Listener全解析
查看>>
Eclipse下使用Ant多渠道批量打包
查看>>
Eclipse下Ant自动打包,混淆和签名
查看>>
android 集成第三方静态库的编译方法
查看>>
linux环境下编译不成功
查看>>
Android系统时间制式的获取(24钟头制式/12小时制式)及UTC与本地时间的转换
查看>>
Android WebView Long Press长按保存图片到手机
查看>>
How To Install Java on Ubuntu with Apt-Get
查看>>
Setting up a Linux build environment
查看>>
BaseAnimation是基于开源的APP,致力于收集各种动画效果(最新版本1.3)
查看>>
TextView显示html图片点击图片放大等操作
查看>>
【Android】自定义控件让TextView的drawableLeft与文本一起居中显示
查看>>
Android Fragment getActivity返回null解决
查看>>
Android(视频、图片)加载和缓存类库Glide
查看>>