元素在页面上的定位体系

 共有三大体系:常规流(normal flow) 浮动(float) 绝对定位(absolute position)

  常规流:在没有css的干预下,块级元素独占一行,宽高可设;行内元素并排显示,宽高自动。

当元素浮动后,脱离文档流。因为子级元素浮动后导致父级高度坍塌。

  浮动:1.左浮动的元素向上向左排列  

     2.右浮动的元素向上向右排列;

     3.浮动盒子的顶边不得高于上一个盒子的顶边;

     4.若剩余空间无法放下浮动的盒子,则该盒子向下移动,直到具备足够的空间能容纳盒子,然后再向左边或右移动(包裹性:块级元素浮动后宽度折叠到内容区域)

     5.浮动元素会避免常规元素,常规元素无视浮动元素(行内元素浮动后可以设置宽高、padding.margin;块级元素浮动后宽度为:自动,内容有多宽就多宽)  

  绝对定位(absolute position):绝对元素以包含它离它最近的非静态定位元素的(0,0)点(其父级元素position不是static值,就会定位到其父级那,其祖先元素position不是static值,就会定位到其父级那,选择最近),会脱离文档流。

     

原文地址:https://www.cnblogs.com/hudingbiao/p/12077838.html

时间: 2024-07-30 09:18:54

元素在页面上的定位体系的相关文章

层叠和继承的概念,选择器的优先级,盒模型,元素在页面上的定位体系,常规流

1.层叠和继承的概念: CSS层叠性是指CSS样式在针对同一元素配置同一属性是,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠. 继承:子元素会自动拥有父元素的某些CSS属性,通常来说,文本类的属性会被继承(字体.字号.颜色) 2.选择器的优先级 !important>id选择器>类选择器>标签选择器>子选择器>后代选择器>伪类选择器 3.盒模型 在网页中,一个盒子占有空间的大小由几个部分构成

元素在页面上的定位

定位 相对定位 书写格式:position: relative ; left: xx px; top: xx px; 绝对定位:脱离文档流:默认的(0,0)点在body的左上角: 书写格式:position:absolute; left: xx px; top: xx px; 注意:绝对定位元素以包含它并离它最近的非静态定位元素的(0,0)点作为它的(0,0)点 固定定位:脱离文档流:宽高可设,默认的(0,0)点在视口(viewport)的(0,0)点 书写格式:position:fixed;

js 获取元素在页面上的偏移量的最佳方式

使用js制作效果时,我们常常要获取某个元素在页面上的偏移量(例如tip提示框功能).而获取偏移量可以直接获取相对于document的偏移量,也可以获取相对与视口的偏移量(viewpoint)加上页面滚动量(scroll)获得. 1.获取相对与document的偏移量 function getOffsetSum(ele){ var top= 0,left=0; while(ele){ top+=ele.offsetTop; left+=ele.offsetLeft; ele=ele.offsetP

jQuery 检查某个元素在页面上是否存在实例代码

用jQuery检查某个元素在网页上是否存在时,应该根据获取元素的长度来判断,代码如下: if($("#tt").length > 0) {   //元素存在时执行的代码 }  不能使用以下代码: if($("#tt")) {   //永远执行,不管元素是否存在 } 这就是为什么要根据元素的长度来判断元素在页面中是否存在的原因.

getBoundingClientRect获取元素在页面上的位置

getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置. getBoundingClientRect是DOM元素到浏览器可视范围的距离(不包含文档卷起的部分). 该函数返回一个Object对象,该对象有6个属性:top,lef,right,bottom,width,height: 这里的top.left和css中的理解很相似,width.height是元素自身的宽高,但是right,bottom和css中的理解有点不一样.right是指元素右边界

盒子定位体系

一.         基本概念 视觉格式化模型(visual formatting model):CSS的一种机制,它规定了页面中的多个盒子如何布局 视觉格式化模型:是一套非常复杂的机制,包含错综复杂的CSS规范:本章的课程从实用的角度出发,仅学习在划分页面区域的时候需要的核心知识:由于划分页面区域时几乎都使用的是块盒,因此,本章仍然只涉及块盒 多个盒子如何布局:HTML中的每个元素都会在页面中生成盒子:这些盒子如何排列.如何相互影响,由视觉格式化模型定义. 主要受到两个因素的影响:元素的盒模形

selenium 定位 页面上两个完全一样的元素

在测试过程中发现页面上有两个保存按钮的元素的xpath一模一样,如下图: google了好久才找到解决办法,发现自己还是比较弱!!!解决方法如下: selenium.click("xpath=(//button[.='保存'])[last()]"); 使用 last() 这个函数(我去,xpath还支持函数!!!) 其它函数请查看下面的网页:http://automationtricks.blogspot.com/2010/09/how-to-locate-element-which-

获取元素在页面中left,top值(忽略其父级的定位)

函数用到的属性有: element.offsetLeft 返回当前元素的相对水平偏移位置的偏移容器 element.offsetParent 返回元素的偏移容器 element.offsetTop 返回当前元素的相对垂直偏移位置的偏移容器 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</ti

如何获取页面上的所有的标签元素?排除重复的。

这个问题应该这样比较好:如何统计页面上用了多少HTML标签元素. 这是我在知乎live上看到的问题,后来讨论了这个https://www.zhihu.com/question/53175578 很多人给出了答案,but,我思来想去也觉得很简单啊,写代码的时候发现完全不知如何下笔,还是菜啊- -! 比如我看到了一个回答 new Set($$("*").map(e => e.tagName)).size;是在控制台输出.可以得到总过用了多少html标签元素的个数. 我心想很简单啊,试