blink渲染知识5 - absulte/fixed and relative positioning



Posted by DaveHyatt onTuesday, August 14th, 2007 at 1:32 pm

The position property in CSS can be used to position anobject relative to a specific containing block. It has fourvalues: ‘static’, ‘absolute’, ‘fixed’ and ‘relative’.Static positioning is the default and means that the object is justpositioned using the normal rules of block and line layout.

RelativePositioning

Relative positioning is exactly like static positioning exceptthat the CSS left, top, right and bottomproperties can be used to apply a translation to the object. TheisRelPositioned method can be used to ask if a rendereris using relative positioning.

bool isRelPositioned() const

The translation offset that will be applied can be obtained usingthe following methods:

int relativePositionOffsetX() const;
int relativePositionOffsetY()
const;

Relative positioning is literally nothing more than a paint-timetranslation. As far as layout is concerned, the object is at itsoriginal position. Below is an example that uses relative positioningto shift part of a line up by a few pixels. As you can see, the linelays out as though the object was at the original position.

<div style="border:5px solid black; padding:20px;
width:300px">
Here is a line of text.
<span style="position:relative;top:-10px;
background-color: #eeeeee">
This part is shifted<br> up a bit,
</span>
but the rest of the line is in its original position.
</div>

Here is aline of text. This part isshifted
up a bit
, but the rest of the line is in itsoriginal position.

Absoluteand Fixed Positioning

Fixed positioned objects are positioned relative to the viewport,i.e., the visible page area of your browser window. Absolutepositioned objects are positioned relative to the containingblock, which is the nearest enclosing ancestor block with aposition other than ‘static’. If no such block exists, then theinitial containing block (the RenderView) is used. For more detailson containing blocks, see the previous article.

The isPositioned method can be used to find out if arenderer is absolute or fixed positioned.

bool isPositioned() const

When an object is absolute/fixed positioned, it becomesblock-level. Even if the CSS display type is set to inline (orinline-block/table), the effective display type becomes block-levelonce an object is positioned. The isInline method willreturn false for positioned elements.

The RenderStyle can give both display values. Thereare times where the original display type is relevant and needed bylayout, and the following methods can be used to obtain both displaytypes.

EDisplay display() const;
EDisplay originalDisplay() const;
ThePositioned Objects List

Every block has a positioned objects list that contains all of theabsolute/fixed positioned renderers for which it is the containingblock. It is the block’s responsibility to place these positionedchildren. The following methods can be used to manipulate thepositioned objects list:

void insertPositionedObject(RenderObject*);
void
removePositionedObject(RenderObject*);

The layoutOnlyPositionedObjects method is used to layout only the positioned objects for a block. If only positionedobjects changed, then this method returns true. Thisindicates that the layout method doesn’t have to lay out any of itsnormal children and can just return early.

bool layoutOnlyPositionedObjects

The layoutPositionedObjects method takes care of theplacement of positioned objects. It takes a boolean argument thatindicates whether relayout should be forced on all of the objects.Relayout can be necessary under a variety of circumstances that willbe covered in future articles.

bool layoutPositionedObjects(bool relayoutChildren)

Coordinatesof Positioned Objects

The coordinates of positioned objects in CSS are relative to thepadding edge of the containing block. For example specifying a leftand top position of (0, 0) for an absolute positioned object willresult in the object being placed just inside the containing block’stop left border. Here is an example:

<div style="position:relative;border:5px solid
black;width:300px;height:300px;">
<div
style="position:absolute;width:200px;height:200px;background-color:purple"></div>
</div>



In WebCore, coordinate positions are always relative to theborder edge, so in the above example, the object is actually at (5,5).

When the desired coordinates are omitted from CSS, WebCore has todetermine an appropriate place for the positioned object. CSS has aset of extremely complex rules for this, which we will delve into inmore detail in future articles.

InlineRelative Positioned Containers

It is possible for a relative positioned inline to act as a“containing block” for an absolutely positioned descendant. Thisis another extremely complex edge case that warrants its own article.For now it is enough to know that such a construct is possible, andthat the code does have to deal with it.



关于定位,这里还有一篇文章讲的不错。

http://www.jb51.net/web/77495.html

科技中介服务机构在协助企业对接科研成果时,如何提升服务响应速度与专业化水平.docx 科技中介服务机构在协助企业对接科研成果时,如何提升服务响应速度与专业化水平 立即下载

相关推荐

国央企创新负责人在推动内部技术成果转化与外部协同创新时,如何实现资源的高效整合与协同联动?.docx

国央企创新负责人在推动内部技术成果转化与外部协同创新时,如何实现资源的高效整合与协同联动?

前端CSS,HTML

1.页面布局 水平居中   1.margin:auto; 页面没有滚动条 有滚动条用fixed 2 fixed 和 absulte  的区别 两栏布局: 一般用于后台管理系统 用到float  不固定的用到 overflow:hidden 双飞翼布局 圣杯布局 自适应的部分一定要添加 overflow:hidden 可以应用浮动实现 为啥加上overflow:hidden&nbs

qq_43459032的博客 193

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容)

内容概要:本文介绍了“两路半桥LLC谐振变换器软开关Simulink仿真”资源包,重点在于基于Simulink平台对两路半桥LLC谐振变换器进行高精度建模与动态仿真,特别考虑了谐振参数不一致及分裂电容等非理想工况对系统性能的影响。该仿真模型不仅涵盖了主电路拓扑、软开关实现机制与谐振网络设计,还深入分析了不同参数配置下系统的启动特性、稳态效率、动态响应及软开关条件的满足情况。通过参数扫描与对比仿真,帮助用户掌握LLC变换器的关键设计要素与优化方法,具备较强的工程指导价值和科研教学意义。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事高频开关电源、新能源变换器、车载充电机等领域的研发工程师和技术人员。; 使用场景及目标:① 掌握两路并联半桥LLC谐振变换器的建模与仿真方法;② 理解软开关技术在提升变换器效率与降低EMI方面的关键作用;③ 分析谐振参数偏差与分裂电容结构对系统均流特性、增益曲线及软开关范围的影响;④ 支持科研项目中的拓扑验证、控制策略开发与故障工况分析; 阅读建议:建议结合Simulink仿真模型与配套说明文档进行学习,重点关注谐振腔参数设置、驱动时序设计及软开关波形观测;可通过调整谐振电感、电容值或引入参数失配,观察系统行为变化,深入理解LLC变换器的稳定边界与优化设计原则。

android 4.0.1 webkit layout 过程分析

当RenderObject被创建并加入到RenderTree后,他们还没有获得自身的大小和位置信息。 各个具体的RenderBoxModelObject子类确定起自身的位置和大小的过程成为Layout. layout过程执行完后,RenderTree上每个节点的位置信息和自身大小就确定下来了。 比如RenderBox的表示位置信息和自身大小的成员变量:  IntRect m_frameRe

jaylinzhou的专栏 1727

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文系统介绍了双向全桥CLLC谐振变换器的Simulink仿真模型,重点阐述了变频控制、闭环仿真及其与多种电力电子拓扑(如维也纳整流器、DAB变换器、图腾柱PFC等)的联合仿真设计。资源包涵盖2.5kW双向全桥LLC、V2G电动汽车充放电系统、三相PFC、多相交错LLC等多种变换器的仿真案例,并深入展示了三电平VIENNA整流器在双闭环PI控制与SVPWM调制策略下,结合上下电容电压差值补偿实现中点电位平衡的先进控制方法。通过仿真验证,该策略不仅有效维持了800V直流母线电压的稳定,还在动态工况下显著提升了电容电压的均衡度,同时保持了较低的输入电流THD,充分体现了SVPWM与中点平衡控制协同优化的技术优势。; 适合人群:具备电力电子与自动控制理论基础,从事新能源发电、电动汽车、工业电源、微电网等领域的研究生、工程师及科研人员。; 使用场景及目标:① 学习并构建高频谐振变换器(如LLC、CLLC)的Simulink仿真模型,掌握其变频与混合控制策略;② 深入理解并应用中点电位平衡、双闭环PI控制、SVPWM调制等核心技术于VIENNA等三电平变换器中;③ 复现高水平期刊论文中的控制算法,服务于科研项目申报、学术论文撰写或工程产品开发。; 阅读建议:该资源为综合性仿真资料库,建议使用者结合自身研究方向(如电动汽车充电、新能源并网)选择对应案例进行精学,重点关注控制策略的设计逻辑、仿真参数的整定方法以及SVPWM与中点平衡的协同机制,并充分利用附带的计算书和参考文献深化理解,以实现从仿真模型到实际工程应用的顺利转化。

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

absolute位置用法html,html/css中相对定位relative和绝对定位absolute的用法

一、相对定位(position:relative)1、相对定位:将盒子的position属性设置为relative;可通过left、top、right、bottom设置偏移量。相对定位基础用法示例:我们先在页面设置两个div盒子(第一个红色;第二个蓝色)最初的位置我们将第一个盒子进行相对定位;离左边200px;离顶部50px;得到的效果是;得出结论:1、红色盒子是相对于盒子最初的位置向左偏移200...

weixin_42166918的博客 5733

虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)

内容概要:本文提供了“虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型”的Simulink仿真实现方法,系统阐述了如何通过仿真手段研究VSG在电力系统中的动态响应特性,重点聚焦于其惯量与阻尼的自适应控制策略。文中详细说明了模型构建流程,涵盖控制算法设计、参数调节、根轨迹分析等内容,并通过对比不同调节系数下的系统响应,深入探讨了控制参数对系统稳定性与动态性能的影响。该仿真模型有效复现了VSG模拟传统同步发电机惯性与阻尼特性的能力,对于提升新能源并网系统的频率稳定性和抗扰动能力具有重要研究价值。; 适合人群:具备电力系统、自动化或相关领域基础知识,从事新能源并网、微电网控制、电力电子与电力系统仿真研究的研究生、科研人员及工程师。; 使用场景及目标:①用于教学与科研中深入理解虚拟同步发电机的工作原理及其在现代电力系统中的应用;②为新能源发电系统接入电网时的稳定性分析与控制策略设计提供仿真验证平台;③支持对VSG控制参数进行优化,提升系统应对负荷波动和扰动的能力。; 阅读建议:建议读者结合Matlab/Simulink软件动手实践,按照文档结构逐步搭建仿真模型,重点关注控制环路设计与参数整定部分,同时参考提供的代码与仿真结果进行对比分析,以加深对VSG自适应控制机制的理解。

position:ablosute和position:relative的简单理解

position:ablosute和position:relative的简单理解 先看一下两者的定义: relative(相对定位) 对象不可层叠、不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。 absolute(绝对定位) 脱离文档流,通过 top,bottom,left,right 定位。选取其最近一个最有定位设

blithe影子 3256

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文介绍了“两相交错并联Boost电路仿真模型(Simulink仿真实现)”的技术资源,属于电力电子变换器领域的仿真研究内容。该模型基于Simulink平台构建,旨在深入分析两相交错并联Boost电路的工作原理、动态响应特性及控制策略。交错并联结构通过错开各相开关管的导通时刻,有效降低输入电流纹波、提升系统效率与功率密度,适用于中高功率DC-DC变换应用场景。资源包含完整的主电路建模、PWM驱动信号生成、闭环控制器设计(如电压/电流双闭环控制)等关键模块,并可能涵盖软启动、均流控制等关键技术问题。整个仿真模型强调理论分析与工程实践的紧密结合,不仅有助于理解电路基本行为,也为优化控制算法提供验证平台,服务于科研与教学需求。; 适合人群:电气工程、自动化、电力电子及相关专业的高校本科生、研究生,以及从事电源系统研发的工程技术人员,具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:① 学习和掌握两相交错并联Boost电路的拓扑结构、工作机理及性能优势;② 利用Simulink进行电力电子电路的建模与仿真,深入理解PWM控制、闭环调节、均流控制等核心技术的应用;③ 为科研项目、课程设计或毕业设计提供可复用的仿真案例和技术支持,辅助开展中高功率电源系统的创新设计与优化研究。; 阅读建议:建议结合Simulink软件动手搭建并调试模型,通过调整占空比、开关频率、电感参数等变量,观察其对输入电流纹波、输出电压稳定性及动态响应的影响,以深化对电路特性的理解;同时可参考文中列出的其他相关资源(如LLC、PFC等仿真模型)进行横向对比学习,拓宽电力电子系统设计视野。

区域电网含风光火压缩空气储能抽水蓄能以及电化学储能的联合调度,加入IEEE39系统,进行潮流计算,分析电能质量研究(Matlab代码实现)

内容概要:本文研究了包含风能、太阳能、火电以及压缩空气储能、抽水蓄能和电化学储能等多种能源形式的区域电网联合调度问题,通过将系统接入IEEE 39节点标准测试系统,利用Matlab平台开展潮流计算与电能质量分析,旨在提升高比例可再生能源接入背景下电网运行的稳定性与供电品质。研究重点涵盖多类型电源与多种储能系统的协调优化调度策略设计,深入探讨储能系统在削峰填谷、平滑新能源出力波动方面的关键作用,并对复杂运行工况下电压偏差、频率波动、谐波污染等电能质量问题进行评估与改善。通过构建完整的仿真模型,系统性地分析了联合调度对电网电能质量的影响机制,为现代电力系统中多能互补与协同控制提供了理论依据和技术参考。; 适合人群:具备电力系统分析、优化调度及电能质量相关基础知识,熟悉Matlab/Simulink仿真环境的研究生、科研人员及电力系统相关领域的工程师。; 使用场景及目标:①为含多种储能的区域电网联合调度研究提供完整的Matlab仿真案例与开源代码参考;②分析大规模新能源接入对IEEE 39系统潮流分布及电能质量的综合影响,并定量评估不同类型储能系统的调控效果;③为电力系统优化调度、电能质量综合治理、多能协同控制等学术研究与工程项目提供可复现的技术支撑与解决方案。; 阅读建议:本资源以Matlab代码实现为核心,读者应在掌握电力系统基本理论的基础上,重点关注联合调度的数学建模过程、储能系统充放电策略的制定逻辑以及电能质量各项评价指标的计算方法。建议在学习过程中动手调试仿真代码,尝试调整系统参数、优化目标权重或改变新能源渗透率,以深入理解系统动态行为与控制策略的有效性。

html5学习笔记(四)

CSS的定位属性 在设计网页过程中,我们元素之间必不可少的要使用到定位属性,来进行元素的布局 常常在我们一开始布局时会使用*{padding:0px;margin:0px;等等}来进行全局元素的一些初始化 在定位属性中常常使用为: position:relative 相对定位 占有空间,能使以它为绝对定位的属性做参照物 position:absulte 绝

夜星丶的博客 275

新手必看:LiteRadio 2c SE遥控器从开箱到飞行的完整指南(附常见问题解答)

本文为新手提供LiteRadio 2c SE遥控器的完整使用指南,涵盖从开箱到首飞的20个关键步骤。详细介绍了遥控器的功能设置、与无人机的对频技巧以及首飞注意事项,帮助用户快速掌握飞行控制,避免常见错误。特别适合无人机初学者阅读。

weixin_29209801的博客 381

html浮动定位和绝对定位进行布局,绝对定位(absolute)和浮动定位(float)分析绝

css中的绝对定位和相对定位有什么区别css中的绝对定位和相对定位有什么区别,以及两者的联系和详细用法,如果个人的理解。相对定位:在原位置上占用空间,可以设置浮动的上下位置。绝对位置:在原位置上,不占用空间,设置位置会以整个页面为标准。 以下是复制别人的 -一.相对定位css布局时,为什么fixed定位元素设置width:100%会css样式如下: *{ margin:0; padding:0; ...

weixin_39946964的博客 752

echarts实现3D地图——map3D

【代码】echarts实现3D地图——map3D。

xiaoququ的博客 7324

内存优化--LOGBACK导致内存告警

一.故事背景 由于开辟新市场需要,开发了新的项部署在海外平台,其中最消耗内存的功能是消费kafka消息(最开始预计一天有1千万的量),部署完之后运行一段时间发现出现内存告警问题。 二.分析问题 出现内存告警,(新项目是低配置机器 2C4G * 2台)第一个念头是去查看堆空间设置的情况,看到jvm启动命令中堆空间都是直接指定大小,说明问题不是出在堆空间 -Xmx3g -Xms3g 先不管这些,去查看总的内存使用情况,发现总的内存空间使用将近有92% = 3.68G,那么这多出来使用的0.6

qq_33199919的博客 6053

java求绝对值absultevalue,位运算常见技巧

在新浪微博上看到一篇文章写位运算的写的很深入,文章链接见末尾,特此mark。0.位运算的种类符号名称运算规则&与两个位都为1时,结果才为1,否则都为0l或两个位都是0时,结果才为1,否则都为0^异或两个位都相同为0,否则为1~取反0->1,1->0<<左移各二进位全部左移若干位,高位丢弃,低位补0>>右移各二进位全部右移若干位,对无符号数,高位补0,有符...

weixin_31143391的博客 876

PaddleOCR实战:如何在CentOS 8.5上搭建高性能OCR识别环境

本文详细介绍了在CentOS 8.5系统上搭建高性能PaddleOCR识别环境的完整指南。从系统环境准备、PaddlePaddle框架部署到PaddleOCR的定制化安装与性能优化,提供了针对生产环境的解决方案,包括GPU/CPU环境配置、内核参数调优及常见问题排查,帮助用户实现高效OCR识别。

weixin_29223603的博客 350

绝对定位position:absolute下,父元素高度塌陷/无法撑开父盒子的原因和解决方案

我一直很困惑绝对定位后父盒子的高度会变为0,如何让绝对定位的元素撑开父盒子呢? 我在StackOverflow上找到的高分解决方案如下: Absolutely positioned elements are completely removed from the document flow, and thus their dimensions cannot alter the dimensions...

印第安米饭 4万+

银河麒麟v10装Docker实战:在线离线安装与容器部署指南

容器技术作为现代软件交付的核心方式,通过将应用与依赖打包成镜像,实现了环境的一致性与快速部署。Docker作为最流行的容器引擎,其安装与配置是上云和国产化转型中的基础技能。在国产操作系统银河麒麟v10环境中,由于系统兼容性和网络环境的差异,Docker的部署需要特别注意在线与离线两种模式的选择。本文从基础概念出发,结合麒麟v10的实际环境,详细梳理了Docker引擎的安装、镜像加速、存储配置以及MySQL、Redis等常用容器的部署方法,并针对SELinux、cgroup驱动等常见问题给出了解决方案,帮助开

weixin_30431445的博客 149

Android Studio运行报错: failed to load include path ……\platforms\android-35\android.jar的最细解决方案

【代码】Android Studio运行报错: failed to load include path ……\platforms\android-35\android.jar的最细解决方案。

2401_86789230的博客 2万+

CSS布局之【Position】属性

在DIV+CSS布局中,该属性是决定当前元素以什么样的方式存在浏览器中,有以下4个值:     1. static: 默认值,浏览器按照正常流摆放该元素。     2. relative: 相对定位     3. absolute: 绝对定位     4. fixed:相对于浏览器窗口定位 这是什么鬼,一头雾水,不急,不急,下面依次进行解释,分析。 一、static     浏览器默

Nemo0210的专栏 987

YOLOv11【第六章:模型压缩与极致优化篇·第15节】YOLOv11 专用剪枝工具库使用指南!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1314

Absolute(绝对定位)与relative(相对定位)的图文讲解

Position的属性值有:1.     Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位2.     Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会跟屏幕一起滚动。3.     Relative:相对定位,是相对于其原本的位置来定位的。4.     Static:默认值,没有定位。5.     Inherit:继承父元素的position值。对于初...

weixin_42067967的博客 9万+

AIGC 算法工程师面试八股文全解析:Diffusion Models 原理、推导与实战要点

特性 | 重参数化技巧 (Reparameterization Trick) |本质| 将随机变量的采样过程从不可导的随机操作转换为可导的确定性函数与一个已知分布的随机噪声的组合。目的。

m0_71589036的博客 404

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

CSS中父div与子div——子div有内容,父div高度却为0?

我们可能在审查网页元素时,会发现这样的一种情况: 案例 HTMLAndCSS.html HTML与CSS简单页面效果实例 --> 从上面的代码来看,包含一个父div和两个子div。而子div又有高度,但是审查元素时,却发现该父div却没有高度(所以此时父div的背景色#c

梦空间 2万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: blink渲染知识四 - layout basics
下一篇: blink渲染知识6 - floats
csshell2002
博客等级 码龄11年 30粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值