那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CSS的幾種定位和使用

汽車玩家 ? 來源:IT知識課堂 ? 作者:IT知識課堂 ? 2020-05-05 23:47 ? 次閱讀

1、CSS布局的三種機制

網頁布局的核心——就是用CSS來擺放盒子位置。

CSS提供部分了3種機制來設置盒子的擺放位置:

普通流(標準流)

浮動(讓盒子從普通流中浮起來 —— 讓多個盒子(div)水平排列成一行)

定位(將盒子定在某一個位置 自由的漂浮在其他盒子的上面 —— CSS 離不開定位,特別是后面的 js 特效)

2,為什么使用定位?

我們先來看一個效果,同時思考一下用標準流或浮動能否實現類似的效果?

小黃色塊在圖片上移動,吸引用戶的眼球。


2.當我們滾動窗口的時候,盒子是固定屏幕某個位置的。


結論:要實現以上效果,標準流或浮動都無法快速實現

3. 定位詳解

定位也是用來布局的,它有兩部分組成:定位 = 定位模式 + 邊偏移

3.1邊偏移

簡單說, 我們定位的盒子,是通過邊偏移來移動位置的。

在 CSS 中,通過 top、bottom、left 和 right 屬性定義元素的邊偏移:(方位名詞),定位的盒子有了邊偏移才有價值。 一般情況下,凡是有定位地方必定有邊偏移。

3.2定位模式 (position)

在 CSS 中,通過 position 屬性定義元素的定位模式,語法如下:

選擇器 { position: 屬性值; }

定位模式是有不同分類的,在不同情況下,我們用到不同的定位模式。

|值| 語義 |

|static|靜態定位|

| relative | 相對定位 |

|absolute | 絕對定位 |

|fixed|固定定位|

3.2.1 靜態定位(static) - 了解

靜態定位是元素的默認定位方式,無定位的意思。它相當于 border 里面的none, 不要定位的時候用。

靜態定位 按照標準流特性擺放位置,它沒有邊偏移。

靜態定位在布局時我們幾乎不用的

3.2.1 相對定位(relative) - 重要

相對定位是元素相對于它 原來在標準流中的位置 來說的。(自戀型)

效果圖:

相對定位的特點:(務必記住)

相對于 自己原來在標準流中位置來移動的

原來在標準流的區域繼續占有,后面的盒子仍然以標準流的方式對待它

- 3.2.3 絕對定位(absolute) - 重要

絕對定位是元素以帶有定位的父級元素來移動位置 (拼爹型)

完全脫標 —— 完全不占位置;

父元素沒有定位,則以瀏覽器為準定位(Document 文檔)

絕對定位的特點:(務必記住)

絕對是以帶有定位的父級元素來移動位置 (拼爹型) 如果父級都沒有定位,則以瀏覽器文檔為準移動位置

不保留原來的位置,完全是脫標的。

因為絕對定位的盒子是拼爹的,所以要和父級搭配一起來使用。

定位口訣 —— 子絕父相

剛才咱們說過,絕對定位,要和帶有定位的父級搭配使用,那么父級要用什么定位呢?

子絕父相 —— 子級是絕對定位,父級要用相對定位。

子絕父相是使用絕對定位的口訣,要牢牢記住!

3.2.4 固定定位(fixed) - 重要

固定定位是絕對定位的一種特殊形式: (認死理型) 如果說絕對定位是一個矩形 那么 固定定位就類似于正方形

完全脫標 —— 完全不占位置;

只認瀏覽器的可視窗口 —— 瀏覽器可視窗口 + 邊偏移屬性 來設置元素的位置;

跟父元素沒有任何關系;單獨使用的

不隨滾動條滾動。

4. 定位(position)的擴展

4.1 絕對定位的盒子居中

注意:絕對定位/固定定位的盒子不能通過設置 margin: auto 設置水平居中。

要這樣使用:

left: 50%;:讓盒子的左側移動到父級元素的水平中心位置;

margin-left: -100px;:讓盒子向左移動自身寬度的一半。

4.2 堆疊順序(z-index)

在使用定位布局時,可能會出現盒子重疊的情況。

加了定位的盒子,默認后來者居上, 后面的盒子會壓住前面的盒子。

應用 z-index 層疊等級屬性可以調整盒子的堆疊順序。

z-index 的特性如下:

屬性值:正整數、負整數或 0,默認值是 0,數值越大,盒子越靠上;

如果屬性值相同,則按照書寫順序,后來居上;

數字后面不能加單位。

注意:z-index 只能應用于相對定位、絕對定位和固定定位的元素,其他標準流、浮動和靜態定位無效

4.3 定位改變display屬性

前面我們講過, display 是 顯示模式, 可以改變顯示模式有以下方式:

可以用inline-block 轉換為行內塊

可以用浮動 float 默認轉換為行內塊(類似,并不完全一樣,因為浮動是脫標的)

絕對定位和固定定位也和浮動類似, 默認轉換的特性 轉換為行內塊。

所以說, 一個行內的盒子,如果加了浮動、固定定位和絕對定位,不用轉換,就可以給這個盒子直接設置寬度和高度等。

同時注意:

浮動元素、絕對定位(固定定位)元素的都不會觸發外邊距合并的問題。 (我們以前是用padding border overflow解決的)

也就是說,我們給盒子改為了浮動或者定位,就不會有垂直外邊距合并的問題了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 布局
    +關注

    關注

    5

    文章

    272

    瀏覽量

    25059
  • CSS
    CSS
    +關注

    關注

    0

    文章

    110

    瀏覽量

    14428
收藏 人收藏

    評論

    相關推薦

    Tailwind CSS v4.0發布首個Beta版本

    Tailwind CSS 是一個為快速開發而精心設計的原子類 CSS 框架,它提供了充滿設計感和應用程序至上的能力來創建組件,它在最新的 2.0 版本中加入了暗黑模式,開箱即用。
    的頭像 發表于 11-25 10:02 ?269次閱讀
    Tailwind <b class='flag-5'>CSS</b> v4.0發布首個Beta版本

    研發都應該了解的如何在vite中接入現代化css工程化方案

    好的css工程化方案可以增強我們項目的可維護性、提高樣式的復用性、進行自動化處理等,在提高頁面加載速度和性能的同時,我們可以有更多的精力進行js邏輯的處理。
    的頭像 發表于 10-25 17:25 ?442次閱讀

    室內北斗定位系統常用的幾種定位方式

    隨著科技的不斷進步,室內定位技術日益成熟,為人們的日常生活和工作帶來了極大的便利。特別是在室內環境中,北斗衛星定位系統通過一系列創新技術,實現了高精度、高可靠的定位服務。接下來就由深圳滄穹科技給大家具體介紹室內北斗
    的頭像 發表于 09-23 10:00 ?578次閱讀

    基于CSS融合存儲系統的自動化制造服務平臺存儲解決方案

    基于CSS融合存儲系統的自動化制造服務平臺存儲解決方案
    的頭像 發表于 09-10 10:15 ?400次閱讀
    基于<b class='flag-5'>CSS</b>融合存儲系統的自動化制造服務平臺存儲解決方案

    智慧園區人員定位及軌跡追蹤技術探討

    追蹤的相關技術和應用。 一、智慧園區人員定位技術 在智慧園區中,有許多方法可以實現人員的準確定位。以下將介紹幾種常見的人員定位技術。 1. GPS/北斗
    的頭像 發表于 08-28 11:31 ?555次閱讀

    PGA900能直接在CSS上編程嗎?

    您好,PGA900能直接在CSS上編程嗎? 可以通過XDS200下載程序到PGA900上面嗎?
    發表于 08-08 07:31

    為什么UWB定位技術適用于室內定位

    UWB室內人員定位原理 UWB室內人員定位技術只是屬于無線定位技術的一種。流行的無線定位技術包括GPS定位、北斗
    的頭像 發表于 06-19 17:10 ?787次閱讀
    為什么UWB<b class='flag-5'>定位</b>技術適用于室內<b class='flag-5'>定位</b>?

    Arm宣布推出終端計算子系統(CSS),提供領先的人工智能體驗

    Arm 控股有限公司(納斯達克股票代碼:ARM,以下簡稱“Arm”)今日宣布推出 Arm? 終端計算子系統 (CSS),以提供領先的人工智能 (AI) 體驗,助力芯片合作伙伴更輕松、快速地構建基于 Arm 架構的解決方案,并加速其產品上市進程。
    的頭像 發表于 05-30 14:11 ?1305次閱讀
    Arm宣布推出終端計算子系統(<b class='flag-5'>CSS</b>),提供領先的人工智能體驗

    Arm推出AI優化的Arm終端CSS以及新的Arm Kleidi軟件

    Arm 終端計算子系統 (CSS) 作為新的計算解決方案,結合了 Armv9 架構的優勢,以及基于三納米工藝節點,經過驗證和證實為生產就緒的新 Arm CPU 和 GPU 實現,可賦能芯片合作伙伴快速創新,
    的頭像 發表于 05-30 11:33 ?718次閱讀
    Arm推出AI優化的Arm終端<b class='flag-5'>CSS</b>以及新的Arm Kleidi軟件

    芯海應用筆記:CSS34P16P(A)型應用說明文檔

    CSS34P16P(A)是 USB Type-C 型控制器,它符合最新 USB Type-C 型和 PD 標準. CSS34P16 為適配器、車載充電器、移動電源等應用提供了一個完整的 USB
    發表于 05-16 14:46

    Arm新Arm Neoverse計算子系統(CSS):Arm Neoverse CSS V3和Arm Neoverse CSS N3

    Arm宣布了兩款新的Arm Neoverse計算子系統(CSS),它們基于“迄今為止最好的一代Neoverse技術”。是什么讓這些新產品在擁擠的計算技術領域脫穎而出? Arm的兩個新Arm
    的頭像 發表于 04-24 17:53 ?1190次閱讀
    Arm新Arm Neoverse計算子系統(<b class='flag-5'>CSS</b>):Arm Neoverse <b class='flag-5'>CSS</b> V3和Arm Neoverse <b class='flag-5'>CSS</b> N3

    STM32L431出現LSE CSS后RTC的ALARM無法進入中斷是怎么回事啊?

    STM32L431的RTC配置使用LSE時鐘,配置ALARMA中斷,可以正常進入中斷,但是出現LSE CSS后重新配置RTC使用LSI做為系統時鐘,但配置后RTC的ALARMA無法進入中斷,這是怎么回事啊?
    發表于 04-08 06:58

    STM32F0系列TIM1內部剎車源,LOCKUP如何應用?

    剎車源也是全系列都有嗎?參考手冊描述不詳細。 3、除了css外,其他幾種剎車源(PVD SRAM COMPARA)如何應用呢?
    發表于 04-03 07:21

    STM32L431CCT6頻繁出現LSE CSS錯誤是什么原因導致的?

    STM32L431CCT6芯片,外部使用32.768k的晶振,匹配電容22pf。LSE作為RTC,LPUART1的時鐘源,啟用LSE CSS功能。經常會發生LSE CSS錯誤,在發生錯誤的時候沒有
    發表于 03-28 09:01

    美國宣布向SK Siltron CSS提供5.44億美元貸款用于SiC晶圓生產

    今天,美國能源部(DOE)貸款計劃辦公室(LPO)宣布向SK Siltron CSS, LLC提供5.44億美元的有條件貸款,以擴大美國電動汽車(EV)電力電子設備用高質量碳化硅(SiC)晶圓的生產。
    的頭像 發表于 02-23 14:52 ?786次閱讀
    大发888注册送钱| 大发888bet亚洲lm0| 百家乐研究| 仕達屋百家乐官网的玩法技巧和规则| 喜力百家乐的玩法技巧和规则 | 7位百家乐扑克桌| 百家乐官网必胜软件下载| 百家乐币| 百家乐官网游戏必赢法| 定做百家乐桌子| 百家乐赌博策略论坛| 百家乐官网有没有攻略| 百家乐哪条路准| 六合彩开奖结果直播| 百家乐官网游戏开户网址| 大富豪棋牌游戏下载| 百家乐乐城皇冠| 岳阳县| 怎么玩百家乐网上赌博| 乐宝百家乐官网娱乐城| 百家乐号游戏机| 线上百家乐官网信誉| 水果机规律| 海港城百家乐官网的玩法技巧和规则| 现金棋牌评测网| 博联百家乐游戏| 凤凰百家乐官网娱乐城| 百家乐官网博国际| 188金宝博开户| 百家乐赌博平台| 百家乐官网双倍派彩的娱乐城| 大发888娱乐鸿博娱乐| 百家百家乐官网官网网站| 联兴棋牌| 百家乐官网孖宝揽| 喜達博彩网| 红树林百家乐的玩法技巧和规则 | 冠通网络棋牌世界| 做百家乐网上投注| 百家乐官网平台开户哪里优惠多| 大发888娱乐城安装|