元素的定位问题

元素布局的要点

  • 主要影响网页布局的是块元素;
  • 块元素有两种主要的布局模式:流式布局与浮动布局;
  • 流式布局比较简单,只需遵循两条规则,以是块元素分行显示,二是行内元素在同一行内显示,一行显示不下则折行。
  • 对于浮动布局,情况就复杂得多,CSS盒子模型中定义了一个position属性用于指定元素的位置定位模式。

静态定位模式,position = static,这是默认的属性值,表明盒子中的元素按照标准流方式进行定位,“该在哪就在那”。

相对定位方式,position=relative,使用相对定位方式的盒子,会相对于它原本的位置有一个偏移(支持正负数,数值为正时,向下/右偏移,数值为为负时,向上/左偏移),到达一个新位置。使用相对定位方式的盒子,仍在标准流中,因此会影响其后继元素的定位。

绝对定位,position=absolute,使用绝对定位的盒子以它“最近”的一个已经定位的父元素为基准进行定位,如果没有这样的元素,则以浏览器窗口为基准。这里所说的“已经定位”是指,position属性被设置为除static以外的所有值之一。绝对行为的盒子从标准流中脱离,它们对后继元素的定位没有影响。

固定定位,position=fixed,采用固定定位方式的盒子以浏览器窗口为基准定位。采用固定定位方式的盒子脱离了原来的标准流,它的“后继”盒子定位时将其视为“不存在”。采用固定定位的盒子不理会父盒子的定位方式。


display与visible属性

  • 所有元素都有display属性。尽管display属性的值有很多,但大多数元素display属性的默认值不是block就是inline。可以通过它强制地让块级元素按行内元素布局,或反之;
  • 把元素的display设定为none,该元素及所有包含在其中的元素,都不会在页面中显示。他们原先占据的所有空间也都会被“回收”,就好像相关的标记根本不存在一样;
  • visibility属性,这个后苏醒最常用的两个相对的值是visible(默认值)和hidden。把元素的visiblity设定为hidden,元素会隐藏,但它占据的页面空间任然“虚位以待”。

来自为知笔记(Wiz)

时间: 2024-11-07 19:47:33

元素的定位问题的相关文章

Appium解决native+webview混合型APP(公众号、小程序)切换webview后元素无法定位问题

问题:最近在做一个安卓+H5混合开发的APP自动化测试,发现在从native切换到webview后,元素仍然无法找到,报错:no such element 思路:于是思考webview会不会像web页面一样存在多个handles呢?用window_handles去取所有的handle,发现果然不止一个.接下来就要确定所要操作的元素具体在哪一个handle,使用switch_to_window(handle),如果可以找到我们需要的元素,说明元素在这个handle,就可以继续后面的自动化操作. 实

不得不说--自动化测试元素定位与用例设计

关于自动化测试,经常被问到元素的定位 与 如何设计用例. 很多时间我也帮不了你解决实际的问题,只能从个人脚本谈谈如何看待这些问题. 不得不说之元素定位 虽然,本章写了十几篇文章来讲元素的定位与操作,对于碰到的一些常见功能,如何通过技巧来定位它们,但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,我们面临最多的问题仍然是元素的定位问题. 有时间元素定位非常简单,例如,我们只要知道这个元素有的id和name 就可以轻松的来定位到它:有时间元素的定位却非常的令人非常头疼,尽管我们用尽了所

司徒正美文章列表

由于本人对司徒正美文章的喜欢,特此整理文章列表如下. 一个带完整的RBAC授权系统的rails应用(第一部分)(司徒正美, 3年前, 12/6549) 一个带完整的RBAC授权系统的rails应用(第二部分)(司徒正美, 3年前, 1/1135) 随机生成十六进制颜色(司徒正美, 3年前, 0/340) ruby中的类变量与实例变量(司徒正美, 3年前, 0/231) ruby模拟多个构造器(司徒正美, 3年前, 0/153) ruby的实例方法(写方法,读方法与读写方法)(司徒正美, 3年前,

Selenium元素定位问题

定位元素时,遇到一些诡异事件: 明明就是通过ID定位的,但是就是没有定位到该元素呢? 1.通过element.find_elements_by_xxx()获取该元素的个数,试试是否有获取到元素,0个表示没有获取到元素,大于1时,表示获取的元素不唯一 2.显式等待,隐式等待.强制等待要合理利用,需要判断元素是否可见,是否可点击 3.可以element.get_attribute('href')打印出元素所有属性,查看是不是自己想要的那一个 element = driver.find_element

【从0到1学CSS】定位问题一(盒模型,浮动)

引子: 在谈到css定位问题的时候先来看一个小问题: 已知宽度(假如:100px)div框,水平居中,左右两百年的分别使用div框填充.且左右div自适应. 效果如下图: 这个问题的难点主要是浏览器宽度未知,且两边div自适应宽度. 第一种实现方法,是借助css3的新属性calc,实现代码如下: body { margin: 0; padding: 0; font-size:0; } .left_div { background-color: #62FF09; /*calc是css3属性可以动态

解决 IE6 position:fixed 固定定位问题

实现<div id="ad"></div>固定在窗口左下角 一般的 position:fixed; 实现方法#ad{ position:fixed; bottom:0; left:0px;} 在 IE6 中实现 position:fixed; 的办法#ad{ position:fixed; bottom:0; left:0px; _position:absolute; _bottom:auto; _top:expression(eval(document.doc

系统性能优化总结篇 (一)快速定位问题

很多创业型企业,都是追求快速把产品推向市场.也因这个因素,在设计和研发过程中,往往追求快为目标,在架构选型.代码编写等环节往往疏忽了性能的考虑.但这种现象是属于正常的,一个好的产品是在客户使用下不断重构成长起来的. 产品的长期运行中,会随着数据的不断庞大.操作用户的不断增加及网络慢等元素,会慢慢暴露出系统运行慢的问题.在这里给大家分享一些在实际操作中如何快速定位问题的方方法. 1.现象: 1.用户会经常反馈在某个时间节点系统运行速度非常卡 2.在某次系统升级后,某个查询功能突然非常慢或某个功能无

Robot Framework XPATH元素的定位(如何获取一个动态或具体的元素)

前提部分(可略过):对于初学者来说,元素定位的方式相对直接.粗糙一点.比如,用鼠标放在一个字符上点击右键查看元素,或者先点击F12再查看元素,大多情况下这种方式都是可行的.而我们最需要关注的也是容易阻塞我们进度的,往往是那些不能直接使用鼠标右键定位的元素.其实都是xpath的元素定位问题,只是方式不一样.此时就要去构建元素的表达式或者说是从F12里提取一些元素进行组建,从而得出一个你可以用来操作的元素.比如:获取N个元素后,根据下标进行选取你要操作的元素,这时就要进行构建元素的表达式,而不能通过

鼠标定位问题总结

鼠标事件发生时的鼠标定位问题即Mouse Position,由于标准的滞后及各个浏览器厂商的实现不同,目前没有完美的解决方案. 该问题首先受到不同浏览器的事件模型有不同的实现方式的影响: IE浏览器中,有一个显式的window.event对象,可以随时取用.W3C兼容浏览器中,使用隐式对象,以第一个参数event的形式传递给事件处理函数. 其次,不同浏览器中Event对象的位置相关属性也有差别: screenX 相对于电脑屏幕的左上角,鼠标的X坐标.标准属性,都支持.screenY 相对于电脑屏