定位方式 及CSS高级技巧

定位

Background-position 背景位置

浮动,在一个浮字上面,我们的定位,在一个位上。CSS离不开定位,特别是后面的JS特效,天天和定位打交道。

为什么要使用定位?

元素的定位属性

元素的定位属性主要包括定位模式和边偏移两部分。

1、边偏移


边偏移属性


描述


top


顶端偏移量,定义元素相对于其父元素上边线的距离


bottom


底部偏移量,定义元素相对于其父元素下边线的距离


left


左侧偏移量,定义元素相对于其父元素左边线的距离


right


右侧偏移量,定义元素相对于其父元素右边线的距离

2、定位模式

Position属性用于定义元素的定位模式,其基本语法格式如下:

静态定位(static)

静态定位是所有元素的默认定位方式,当position属性的取值是static时,可以将元素定位于静态位置。所谓静态位置就是各个在HTML文档流中默认的位置。

相对定位relative(自恋型)

相对定位是将元素相对于它在标准流中的位置进行定位,当position属性的取值为relative时,可以将元素定位于相对位置。

对元素设置相对定位后,可以通过边偏移量改变元素的位置,但是它在文档流中的位置仍然保留。

注意:

1、相对定位可以通过偏移量移动位置,但是原来的所占位置继续保留(类似于停薪留职)。

2、每次移动的位置,是以自己的左上角为基点移动。(相对于自己来移动位置)

就是说,相对定位的盒子仍在标准流中,它后面的盒子仍以标准流方式对待它。(相对定位不脱标)

如果说浮动的主要目的是 让多个块级元素一行显示,那么定位的主要价值就是 移动位置,让盒子到我们想要的位置上去。

绝对定位absolute(拼爹型)

注意:如果文档可滚动,绝对定位元素会随着它滚动,因为元素最终会相对于正常流的某一部分地位。

当position属性的取值为absolute时,可以将元素的定位模式设置为绝对定位。

注意:绝对定位最重要的一点是,它可以通过偏移量移动位置,但是它完全脱标,完全不占位置。

父级没有定位

父级没有定位,取上一级定位,body的定位就是浏览器当前屏幕为准对齐。

父级有定位

子绝父相

子绝父相:子级是绝对定位的话,父级要用相对定位。

绝对定位是将元素依据最近的已经定位绝对、固定或相对定位的父元素(祖先)进行定位。

绝对定位的盒子水平/垂直居中

普通的盒子是左右margin改为auto就可,但是对于绝对定位就无效了

定位的盒子也可以水平或者垂直居中,有一个算法:

1、首先left 50% 父盒子的一半大小

2、然后走自己外边距负的一半值就可以了 margin-left

固定定位fixed(认死理型)

固定地位是绝对定位的一种特殊形式。它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。

当对元素设置固定定位后,它将脱离标准文档流动的控制,始终依据浏览器窗口来定义自己的显示位置。不管浏览器滚动条如何滚动,也不管浏览器窗口的大小如何变化,该元素都会始终显示在浏览器窗口的固定位置。

固定定位有2点:

1、固定定位的元素跟父亲没有任何关系,只认浏览器

2、固定定位完全脱标,不占有位置,不随着滚动条滚动。

叠放次序(z-index)

注意:z-index:100;

1、z-index的默认属性值是0,取值越大,定位元素在层叠元素中越居中。

2、如果取值相同,则根据书写顺序,后来居上

3、后面数字一定不能加单位

4、只有相对定位、绝对定位、固定定位有此属性,其余标准流、浮动、静态定位都无此属性,亦不可指定此属性。

四种定位总结


定位模式


是否脱标占有位置


是否可以使用边偏移


移动位置基准


静态static


不脱标,正常模式


不可以


正常模式


相对定位relative


不脱标,占有位置


可以


相对自身位置移动


绝对定位absolute


完全脱标,不占有位置


可以


相对于定位父级移动位置


固定定位fixed


完全脱标,不占有位置


可以


相对于浏览器移动位置

定位模式转换

跟浮动一样,元素添加了绝对定位和固定定位之后,元素模式也会发生转换,都转换为 行内块模式。

因此 比如 行内元素 如果添加了 绝对定位或者 固定定位后 浮动后,可以不用转换模式,直接给高度和宽度就可以了。

元素的显示与隐藏

在CSS中 三个显示和隐藏的单词,分别是display、visibility、overflow。

他们的主要目的是让一个元素在页面中消失,但是不在源码中删除。

Display显示

Display 设置或检索对象是否及如何显示。

Display:none 隐藏对象  与它相反的是display:block除了转换为块级元素之外,同时还有显示元素的意思。

特点:隐藏之后,不在保留位置。

Visibility可见性

设置或检索是否显示对象。

Visible:对象可视

Hidden:对象隐蔽

特点:隐藏之后,继续保留原有位置。(停薪留职)

Visibility:hidden; 显示

Overflow溢出

检索或设置当对象的内容超过其指定高度及宽度时如何管理内容。

Visible:不剪切内容也不添加滚动条

Auto:超出自动显示滚动条,不超出不显示滚动条

Hidden:不显示超过对象尺寸的内容,超出的部分隐藏掉

Scoll:不管超出内容否,总是显示滚动条

Overflow:auto; 超出自动显示滚动条,不超出不显示滚动条。

CSS高级技巧

Css用户界面样式

所谓界面样式,就是更改一些用户操作样式,比如更改用户的鼠标样式,表单轮廓。但是比如滚动条的样式改动受到了很多浏览器的抵制。

鼠标样式cursor

设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。

Cursor:default小白  | pointer 小手 | move 移动 | text 文本

轮廓outline

是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

防止拖曳文本域resize

Resize:none 可以防止 火狐 谷歌等浏览器随意的拖动 文本域

右下角可以拖曳:

<textarea>ddaaa</textarea>

Vertical-align垂直对齐

设置或检索对象内容的垂直对齐方式。

Vertical-align:baseline 基线对齐,默认的是文字和图片基线对齐

Vertical-align:top     顶部对齐,默认的是文字和图片顶部对齐

Vertical-align:middle 垂直对齐,默认的是文字和图片中线对齐

Vertical-align:bottom 底部对齐,默认的是文字和图片底部对齐

图片、表单和文字对齐

Vertical-align控制图片和文字的垂直关系。默认的图片会和文字基线对齐。

去除图片底侧空白缝隙

图片或表单行内块元素,他的底线会和父级盒子的基线对齐。

解决方法:

1、给 img Vertical-align:middle | top 等等,让图片不要和基线对齐。

2、给img 添加display:bloc;转换为块级元素就不会存在问题了。

溢出的文字隐藏省略号代替

White-space

White-space设置或检索对象内文本显示方式。通常我们使用于强制一行显示内容

Normal:默认处理方式

Nowrap:强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行

可以处理中文

Text-overflow文字溢出省略号代替

Text-overflow:  clip | ellipsis

设置或检索是否使用一个省略标记(...)标示对象内文本的溢出。

Clip:不显示省略标记(...),而是简单的裁切

Ellipse:当对象内文本溢出时显示省略标记(...)

PS:一定要首先强制在一行内显示,再次和overflow属性 搭配使用

原文地址:https://www.cnblogs.com/wendyw/p/10286879.html

时间: 2024-10-08 02:19:42

定位方式 及CSS高级技巧的相关文章

CSS的三种定位方式介绍(转载)

在CSS中一共有N种定位方式,其中,static ,relative,absolute三种方式是最基本最常用的三种定位方式.他们的基 本介绍如下. static默认定位方式relative相对定位,相对于原来的位置,但是原来的位置仍然保留absolute定位,相对于最近的非标准刘定位,原来的位置消失,被后边的位置所顶替 下面先演示相对定位的案例 [html] view plain copyprint? <!DOCTYPE html> <html> <head> <

Css3之基础-11 Css定位(定位概念 、定位方式)

一.CSS 定位概述 定位概念 - 普通流定位 - 页面中的块级元素框从上到下一个接一个地排列 - 每一个块级元素都会出现在一个新行中 - 内联元素将在一行中从左到右排列水平布置 - 浮动 - 相对定位 - 绝对定位 - 固定定位 定位属性 - position属性: - position: static/relative/absolute/fixed; - 偏移属性:实现元素框位置的偏移 - top/bottom/right/left: value; - 堆叠顺序 - z-index: val

css的三定位方式的区别

css 定位reletive absolute fixed reletive 相对定位:相对于自己的定位,并没有脱离标准文档流: absolute 绝对定位: 相对于距离自己最近的父级元素做定位,(先找父元素,父元素如果没定位,继续向上寻找爷爷辈的元素,依次类推)脱离标准文档流: fixed 固定定位: 相对于可是窗口的定位, 脱离了标准文档流: static 默认的定位方式,相当于没有做定位

【高德地图API】从零开始学高德JS API(七)——定位方式大揭秘

摘要:关于定位,分为GPS定位和网络定位2种.GPS定位,精度较高,可达到10米,但室内不可用,且超级费电.网络定位,分为wifi定位和基站定位,都是通过获取wifi或者基站信息,然后查询对应的wifi或者基站位置数据库,得到的定位地点.定位数据库可以不断完善不断补充,所以,越定位越准确.本文详细描述了,如果使用高德JS API来实现位置定位.城市定位的方法,包含了IP定位,浏览器定位,检索定位等多种网络定位方法.当然,如果您的手机有GPS功能,那么使用浏览器定位的时候,会自动获取GPS信息,使

selenlum笔记,(定位方式,搜索,cookie)

driver.get_cookies() 获得cookie信息add_cookie(cookie_dict)  向cookie添加会话信息delete_cookie(name)   删除特定(部分)的cookiedelete_all_cookies()    删除所有cookie driver.quit()退出关闭所有程序及窗口driver.close()关闭当前窗口 driver.get(url)print(driver.title)打印页面title driver.maximize_wind

【转】HTML中的几种定位方式

http://www.cnblogs.com/Jerry-Chou/archive/2011/11/02/2233094.html 1,static(默认) 当你没有为一个元素(例如div)指定定位方式时,默认为static,也就是按照文档的流式(flow)定位,将元素放到一个合适的地方.所以在不同的分辨率下,采用流式定位能很好的自适合,取得相对较好的布局效果. 一般来说,我们不需要指明当前元素的定位方式是static——因为这是默认的定位方式.除非你想覆盖从父元素继承来的定位系统. 2,rel

selenium 2定位方式实例

#########百度输入框的定位方式########## #通过id方式定位 browser.find_element_by_id("kw").send_keys("selenium") #通过name方式定位 browser.find_element_by_name("wd").send_keys("selenium") #通过tag name方式定位 browser.find_element_by_tag_name(&q

selenium的定位方式

第1种方法:通过绝对路径做定位(相信大家不会使用这种方式) By.xpath("html/body/div/form/input") By.xpath("//input") 第2种方法:通过元素索引定位 By.xpath("//input[4]") 第3种方法:使用xpath属性定位 By.xpath("//input[@id='kw1']") By.xpath("//input[@type='name' and @

selenium 定位方式

在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.其中By类的常用定位方式共八种,现分别介绍如下. 1. By.name() 假设我们要测试的页面源码如下: <button id="gbqfba" aria-label="Google Search" name="btnK" class="gbqfba"><