網站首頁 編程語言 正文
定位
position
? 定位是一種更高級的布局手段
? 通過定位可以可以將元素擺放到頁面的任意位置
文章目錄
- 定位
- 相對定位
- 絕對定位
- 固定定位
- 粘滯定位
- 絕對元素的定位
- 元素的層級(z-index)
position:static; /*默認值,元素是靜止的沒有開啟定位*/
position:relative; /*開啟元素的相對定位*/
position:absolute; /*開啟元素的絕對定位*/
position:fixed; /*開啟元素的固定定位*/
position:static; /*開啟元素的粘滯定位*/
相對定位
當position屬性值為relative時則開啟了元素的相對定位
position:relative; left:100px; top:-100px;
- 元素開啟相對定位以后,如果不設置偏移元素不會發生任何的變化
- 相對定位是參照與元素在文檔流中的位置進行定位
- 相對定位會提升元素的層級
- 相對定位不會使元素脫離文檔流
- 相對定位不會改變元素的性質(塊還是塊,行內還是行內)
- 偏移量(offset):通過偏移量設置元素的位置
- right/left
- 定位元素和定位位置的左/右側距離
- 通常情況下我們只會使用其中之一
- left/right越大元素越向右/左移動
- top/bottom
- 定位元素和定位位置上/下邊的距離
- 通常情況下我們只會使用其中之一
- top/bottom越大元素越向下/上移動
- right/left
絕對定位
當position屬性值為absolute時則開啟了元素的相對定位
position:absolute; left:100px; top:200px;
- 開啟絕對定位后,如果不設置偏移量元素的位置不會發生變化
- 開啟絕對定位后,元素定位會從文檔流中脫離
- 絕對定位會改變元素的性質,行內變成塊,塊的寬高被內容撐開
- 絕對定位會使元素提升一個層級
- 絕對定位元素時先對于其包含快進行定位的
-
包含塊 (containing blok)
-
絕對定位的包含塊
- 離它最近的開啟了定位的祖先元素(非pasition:static;)
- 若所有的祖先元素都沒有開啟定位則根元素就是它的包含塊
-
<html>(根元素、初始包含塊)
-
固定定位
當position屬性值為fixed時則開啟了元素的相對定位
position:fixed; left:100px; top:200px;
- 也是一種絕對定位,大部分特點與絕對定位一樣
- 不同點:
- 固定定位永遠參考瀏覽器的視口進行定位
- 不會隨網頁的滾動條的滾動條滾動而滾動
粘滯定位
當position屬性值為sticky時則開啟了元素的相對定位
position:sticky; top:10px;//滾動后固定在距離top10px的位置
IE不行
- 和相對定位基本一致,不同的是粘滯定位可以在元素到達某個位置時將其固定
絕對元素的定位
水平布局
left+marrgin-left+border-left+padding-left+width+padding-right+border-right+marrgin-right+right=包含塊內容區的寬度
當我們開啟了絕對定位后:
- 水平方向的布局等式就需要添加left和right兩個值
- 此時規則和之前一樣只是多添加了兩個值
- 當發生過度約束:
- 如果九個值中沒有auto則自動調整right值以使等式滿足
- 如果有auto,則自動調整auto的值以使等式滿足
- 可以設置auto的值
- margin、width、left、right
- 因為left和right的默認值使auto,則當等式不滿足切為默認值時,會自動調整這兩個值
- auto優先級:偏移量>寬高>外邊距
垂直方向上布局的等式也必須滿足
top+margin-top+boder-top+padding-top+height+padding-bottom+boder-bottom+margin-bottom+bottom=包含塊的高度
.box{
margin:auto;
left:0;
right:0;
top:0;
bottom:0;
}/*在包含塊中垂直、水平居中*/
元素的層級(z-index)
對于開啟了定位元素,可以通過z-index屬性來指定元素的層級
? z-index需要一個整體作為參數,值越大越蘇的層級越高,越優先顯示
- 如果元素層級一樣,則優先顯示(結構上HTML)靠下的元素
- 祖先的元素層級再高也不會蓋住后代元素
原文鏈接:https://blog.csdn.net/m0_61219786/article/details/124484641
相關推薦
- 2024-03-07 SpringAOP基于XML方式實現(了解)
- 2022-12-14 Android?Studio?gradle配置packagingOptions打包so庫重復_And
- 2022-12-12 Android?ConnectivityManager網絡管理詳解_Android
- 2023-07-08 SparkMD5獲取不同圖片的md5顯示相同,解決辦法
- 2022-08-26 利用Python實現自動化監控文件夾完成服務部署_python
- 2022-10-12 Docker開啟遠程連接并實現安全通信詳解_docker
- 2022-12-23 Kubernetes應用服務質量管理詳解_云其它
- 2023-05-17 一文速學Python+Pyecharts繪制樹形圖_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支