网页布局绝对定位(position)轻松简单

CSS position 属性全方位解析,带你轻松掌控布局策略 通过全面了解和掌握CSSposition属性的不同取值及应用场景,你将能够应对各种复杂的布局挑战,创作出更为精良的网页设计。希望本文的详细介绍和代码示例可以帮助你以清晰直观的方式理解并运用position属性,逐步提升你在前端开发领域的布局技术实力。不论是初学者还是资深开发者,都应当不断深入研究和实践,以期在网页布局领域游刃有余,挥洒自如。 阅读详情

使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。

其实,要想控制好层的绝对定位,只要理解CSS中关于定位(position)的定义,一切就会变得轻松简单。

CSS中关于定位(position)是这样定义的:

定位(position)允许用户精确定义元素框出现的相对位置,可以相对于它通常出现的位置,相对于其上级元素,相对于另一个元素,或者相对于浏览器视窗本身。每个显示元素都可以用定位的方法来描述,而其位置由此元素的包含块来决定的。

包含块(containing block)是格式编排发生的关联场景,例如,一个加粗的元素的包含块可以是该元素所出现的段落,如图1所示。

在理解定位之前,首先,要先理解HTML文件的结构,例如有一个html文件内容如下:

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>文档结构</title> </head> <body> <h1>CSS规则</h1> <p>样式表由一些<strong>样式规则</strong>组成。</p> <ul> <li>选择符 <ul> <li>类选择符</li> <li>ID选择符</li> <li><em>包含</em>选择符</li> </ul> </li> <li>属性</li> <li>值</li> </ul> </ul> </body> </html>

此文档对应的树型结构,如图2所示。

CSS大部分能力是基于元素的“父子”关系,在图2的家族树中,每个元素都是另一个元素的“父”或者“子”或者2者都是。例如:body既是html的子元素,又是h1的父元素,而html就是h1的祖先,h1则是html的子孙。

Body是所有浏览器能显示的元素的祖先,而html是所有元素的祖先,也称为“根元素”。

那为什么定位了的元素还总是以浏览器窗口的左上角为坐标呢?因为并不是每个元素都能为其后辈元素生成一个包含块。

建立包含块的规则如下:

  1. 根元素”的包含块(也叫初始包含块)由用户代理生成,在HTML中,根元素是HTML元素,尽管有的浏览器会不正确地使用body元素。
  2. 对于那些未绝对定位的非根元素来说,元素的包含块设置为最近的块级祖先元素的内容区边沿。
  3. 对那些使用绝对(absolute)作为定位(postition)的非根元素,包含块设为最近的定位(postition)不是静止(static)的祖先元素(任何类型)。有以下几种情况:
    a.  如果祖先元素是块级(block)元素,包含块设为祖先元素的填充(padding)边沿,也就是被边框(border)约束的区域
    b.  如果祖先元素是内联(inline)元素,包含块设为祖先元素的内容边沿。因此,绝对定位的元素往往以浏览器可视区域的左上为坐标原点来进行定位了。

在CSS中可是使用position属性来在不同的定位类型中选择。

语法:
position : static | absolute | fixed | relative | inherit

其各参数含义是:
static : 静态(默认),无特殊定位。
relative : 相对,对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置
absolute : 绝对,将对象从文档流中拖出,通过width、height、left,right,top,bottom等属性与margin、padding、border进行绝对定位,绝对定位的元素可以有边界,但这些边界不压缩。而其层叠通过z-index属性定义。
fixed : 悬浮,使元素固定在屏幕的某个位置,其包含块是可视区域本身,因此它不随滚动条的滚动而滚动。(IE5.5+不支持此属性。)
inherit : 这个值从其上级元素继承得到。

示例:

div { position: absolute; bottom: 1in; left: 1in; right: 1in; top: 1in; } div { position:relative; top:-3px; left:6px; }

既然了解了包含块的概念,那么对于相对定位和绝对定位的关系,就很好掌握了。

例如,现在需要把页面内容整体居中,然后再将其中某些层绝对定位的话,那就要把最外面的层设置定位属性。

<body> <div id="box"> <div id="nav"> <p>每个显示元素都可以用定位的方法来描述,而其位置由此元素的<strong>包含块</strong>来决定的。</p> </div> </div> </body>

此时,如果你要对nav绝对定位,则需设置css:

body { margin:0; padding:0; text-align:center; } #box{ background:#ff0; position:relative; /* 使box层成为其子孙元素的包含块 */ width:500px; height:200px; margin:0 auto; } #nav { background:#ccc; position:absolute; /* nav层将在box层的边框范围内绝对定位 */ top:20px; left:40px; width:200px; }

其显示效果如图3所示。

因此,掌握了包含块的概念,定位就变得不那么困难了。

CSS Position(定位) CSS定位是网页布局中非常重要的一环,通过使用不同的定位方式,我们可以轻松地控制元素的位置和层叠顺序。在实际开发中,选择合适的定位方式可以提高页面的可读性和用户体验。在本文中,我们介绍了静态定位、相对定位、绝对定位和固定定位,以及层叠上下文的概念。希望本文能帮助您更好地理解和应用CSS定位。 阅读详情

相关推荐

40、网页布局之绝对定位全解析

本文深入解析了CSS中的绝对定位技术,涵盖其核心属性如position、top、left、z-index和overflow的使用方法与注意事项。通过实际HTML/CSS示例,展示了绝对定位在侧边栏、固定导航等场景中的应用,并对比了其优缺点及适用场景。文章还提供了去除CSS注释的技巧和定位类型的选择流程图,帮助开发者更高效地掌握网页布局中的绝对定位技术。

46

ul 原点显示_固定元素(div、ul li)显示在屏幕左上角、右下角、中间

在网页前端设计时,有时需要固定元素在屏幕的左上角、右下角或中间,也就是被固定的元素不能随屏幕移动。固定元素通常用来显示广告、快捷菜单、导航、简短新闻、在线客服等。由于固定的常常是一个小区块,所以经常选择 div 作为固定元素,行多时也选用 ul li。固定元素在屏幕某个位置有两种方法实现,既可用 javascript 代码,又可用 CSS 样式;用 javascript 代码实现复杂得多,以前一些...

weixin_36376765的博客 2563

STM32F407通过SMBus协议精准读取BQ40Z50电池电量

本文详细介绍了STM32F407通过SMBus协议精准读取BQ40Z50电池电量的实现方法。从硬件连接到软件驱动开发,再到通信异常排查,提供了完整的解决方案。重点解析了SMBus协议的特殊时序要求、GPIO模拟驱动的关键代码,以及实际调试中的常见问题与对策,帮助开发者高效完成电池管理系统开发。

weixin_29189003的博客 253

前端面试学习(五)

1.说说你对页面中使用定位(position)的理解? 答:使用css布局position非常重要,语法如下: position:static | relative | absolute | fixed | center | page | sticky 默认值:static,center、page、sticky是CSS3中新增加的值。 (1)、static  可以认为静态的,默认元素都是

doubicheng的专栏 512

信息隐藏 数字图像空域隐写与分析技术的实现

【代码】信息隐藏 数字图像空域隐写与分析技术的实现。

Yungoal的博客 468

麒麟银河操作系统V10部署ffmpeg(也能用于Linux系统)

部署ffmpeg用来处理视频的各种操作,如编码解码,格式转换,剪辑,处理实时视频流,音频流,加滤镜等

zhouwenxing666的博客 9041

相对、绝对定位、固定定位、粘滞定位、绝对定位元素的位置、元素层级、定位拓展、淘宝焦点图、网页布局总结、元素显示隐藏(display visibility overflow)土豆—05.position

相对定位、绝对定位、固定定位、粘滞定位、绝对定位元素的位置、元素的层级、定位的拓展、淘宝焦点图、网页布局总结、元素的显示与隐藏

weixin_70320000的博客 1952

PSpice 导入 LTspice 仿真实验 --(如何解决PSpice模型无法使用的错误)

参考了网上第三方器件导入LTspice的博客和资料,不论是哪个公司下载的SPICE模型导入LTspice的方法都类似。如果遇到导入报错的情况可以先看一下报错提示,如果通过语法修改实现功能的则说明可以进行仿真,当然性能可能与官方给的模型存在一点出入,但做一个基本的功能验证本人认为还是可以的,总比做出板子用不了或者完全不匹配的要好一些。

伊丽莎白的学习之路 8998

定位的概念(HTML)

文章目录前言HTML中为什么需要定位?一、定位1.定位的组成2.定位模式1、static 静态定位 (默认)2、relative 相对定位3、absolute 绝对定位4、fixed 固定定位5、粘性定位sticky (了解)总结 前言 HTML中为什么需要定位? 1、浮动可以让多个块级盒子一行没有缝隙排列显示,经常用于横向排列盒子 2、定位则是可以让盒子自由的在某个盒子内移动位置或者固定屏幕中某个位置,并且可以压住其他盒子 一、定位 1.定位的组成 定位=定位模式+边偏移 &nbs

原地起飞 1875

Mind+掌控板实战:5分钟搞定Easy IoT的MQTT通讯(附完整代码)

本文详细介绍了如何利用掌控板和Mind+图形化编程软件,快速实现基于Easy IoT平台的MQTT通讯。通过清晰的步骤讲解和完整的代码示例,指导用户完成从云端配置、Wi-Fi连接到MQTT消息发布与订阅的全过程,帮助初学者轻松构建物联网设备间的双向对话系统。

weixin_29300241的博客 448

Android Framework AMS面试题及参考答案

比如,应用 B 的 Activity 如果是 “singleTask” 启动模式,AMS 会查找应用 B 是否有包含该 Activity 的任务栈,若有则将这个任务栈切换到前台,并且清除该 Activity 之上的其他 Activity,实现流畅的跨应用跳转体验。如果一个 Activity 的启动依赖于另一个 Activity 的结果,AMS 会暂停当前 Activity 的部分生命周期操作,等待依赖的 Activity 完成相关操作后,再继续当前 Activity 的生命周期进程。

大模型大数据攻城狮的专栏 1862

网页布局方式之定位

定位 定位 定位

mistys_city的博客 976

Vision 机器视觉案例 之 零件边缘缺陷检测

缺陷检测工具

机器视觉李小白的博客 1386

【前端基础必看】网页布局从零到精通:CSS Hover / Position / Flex 全面解析(含最全示例)

本文介绍了前端布局的核心3大能力:hover移入效果、position定位和Flex弹性布局。hover实现鼠标悬停样式变化;position提供relative、absolute和fixed三种定位方式;Flex布局通过display:flex实现灵活排版,结合justify-content和align-items轻松实现各种对齐效果。文中包含清晰示例代码,适合前端初学者快速掌握布局基础。最后总结了hover交互、精准定位、Flex布局和对齐属性这4项入门必备技能,帮助读者构建完整的布局知识体系。(149

qq_21106275的博客 997

深度解析:C# Modbus TCP协议解析与异常处理(工控上位机必备)

协议解析要精准:掌握MBAP头和PDU的结构,尤其是常用功能码的请求/响应格式,避免因字节处理错误导致通信失败;异常处理要全面:覆盖通信层、协议层、数据层的所有异常类型,针对工业场景制定重试、重连、滤波等策略;资源管理要规范:使用释放资源,采用连接池复用连接,避免端口泄露;工业场景要适配:结合工控现场的特点(网络波动、电磁干扰、设备忙),优化通信效率和数据处理逻辑。通过以上解析和策略,可确保C#上位机与工业设备的Modbus TCP通信具备高稳定性、高可靠性、高容错性,满足工控领域的严苛要求。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 997

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

移动端图片绝对定位居中_CSS:定位(position)

定位(position)如果,说浮动, 关键在一个 “浮” 字上面, 那么 我们的定位,关键在于一个 “位” 上。PS: 定位是我们CSS算是数一数二难点的了,但是,你务必要学好它,我们CSS离不开定位,特别是后面的js特效,天天和定位打交道。不要抵触它,反而要爱上它,它可以让我们工作更加轻松哦!为什么要用定位?那么定位,最长运用的场景再那里呢? 来看几幅图片,你一定会有感悟!第一幅图, 小黄色块...

weixin_34853336的博客 431

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

html 图片position,CSS:定位(position)

定位(position)如果,说浮动, 关键在一个 “浮” 字上面, 那么 我们的定位,关键在于一个 “位” 上。PS: 定位是我们CSS算是数一数二难点的了,但是,你务必要学好它,我们CSS离不开定位,特别是后面的js特效,天天和定位打交道。不要抵触它,反而要爱上它,它可以让我们工作更加轻松哦!为什么要用定位?那么定位,最长运用的场景再那里呢? 来看几幅图片,你一定会有感悟!第一幅图, 小黄色块...

weixin_29589357的博客 1137

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

定位(position)总结

定位模式是否脱标占有位置是否可以使用边 偏移移动位置基准静态static不脱标,正常模式不可以正常模式相对定位relative不脱标,占有位置可以相对自身位置移动(自恋型)绝对定位 absolute完全脱标,不占有 位置可以相对于定位父级移动位置(拼 爹型)固定定位fixed完全脱标,不占有 位置可以相对于浏览器移动位置(认死 理型)

2301_80463357的博客 1734

css_position

position语法: position : static absolute relative position参数: static: 无特殊定位,对象遵循HTML定位规则 absolute: 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位。而其层叠通过css z-index属性定义。此时对象不具有边距,但仍有补白和边框 relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置 position说明: 设置对

Rita的博客 144

CSS 定位(position)

定位(position) background-position 背景定位 如果,说浮动, 关键在一个 “浮” 字上面, 那么 我们的定位,关键在于一个 “位” 上。 PS: 定位是我们CSS算是数一数二难点的了,但是,你务必要学好它,我们CSS离不开定位,特别是后面的js特效,天天和定位打交道。不要抵触它,反而要爱上它,它可以让我们工作更加轻松哦! 1、为什么要用定位? 那么定位...

快乐de馒头 321

深入理解CSS中的定位(position)

CSS中的定位(position)   使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。   其实,要想控制好层的绝对定位,只要理解CSS中关于定位(position)的定义,一切就会变得轻松简单。  CSS中关于定位(position)

图图 4380

定位(position)

定位是我们CSS算是数一数二难点的了,但是,你务必要学好它,我们CSS离不开定位,特别是后面的js特效,天天和定位打交道。就是说, 子级是绝对定位,父亲只要是定位即可(不管父亲是绝对定位还是相对定位,甚至是固定定位都可以),就是说, 子绝父绝,子绝父相都是正确的。相对定位是将元素相对于它在标准流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置。首先, 我们说下, 绝对定位是将元素依据最近的已经定位绝对、固定或相对定位)的父元素(祖先)进行定位。

m0_65696193的博客 368

position定位及小案例

一.position定位和float浮动的区别 浮动(float)主要是解决左右排列的问题,定位(position)则主要是解决叠加排列的问题,设置对象的定位方式,可以让布局层位置容易绝对定位,控制盒子对象位置更加准确。 二.position语法与结构 ① 语法:position:static(默认)/relative(相对定位)/absolute(绝对定位)/fixed(固定定位)/sticky...

DcTbnk的博客 1047

前端学习之定位(position)

前面说过浮动,关键在一个"“浮”上面,而定位,关键则在于一个"位"上面。 前端学习之浮动 PS:定位在CSS中算是数一数二的难点,但是,务必要学好它。我们的CSS离不开定位,特别是后面的js特效,天天和定位打交道。不要抵触定位,反而要爱上它,它可以让我们工作更加轻松哦~ 为什么要用定位? 如果要实现某个东西能够随便在一个盒子里自由随意移动、或压着某个元素、或超出某个盒子等等,这一类用标准流或者...

no pains,no gains 4288

CSS中的定位(position)

使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。其实,要想控制好层的绝对定位,只要理解CSS中关于定位(position)的定义,一切就会变得轻松简单。CSS中关于定位(position)是这样定义的:定位(position)允许用户精确定义元素框出现

猫沙盆 1888

一看就懂,关于HTML5里面的定位 (position )相对定位,绝对定位,固定定位 ,粘性定位;有图有对比 值得你的信赖(一个在千锋逆战班奋斗的年轻人)

*HTML5 定位## position:static(默认值)没有定位 position:relative(相对定位) position:absolute(绝对定位) Position:fixed(固定定位) position:sticky(粘性定位)(css3新增兼容不好) 作用 A.在正常情况下.可以让一个元素覆盖在另一个元素上面 B.可可以移动一个元素的位置 C.可以固定某个容器在浏览...

vipdidi的博客 3512
上一篇: b标签、Strong标签、h1标签的区别以及使用
下一篇: request 生命周期及参数信息
msg_java2011
博客等级 码龄15年 18粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值