CSS-浮動,定位

1. 浮動 (float)

? ? ? ? CSS的定位機制有三種:普通流(標準流),浮動和定位。

? ? ? ? 普通流就是一個網頁內標簽元素正常從上到下,從左到右排列順序的意思,比如塊級元素會獨占一行,行內元素會按順序依次前后排列;按照這種大前提的情況下絕對不會出現例外的情況叫普通流布局。

? ? ? ? 1.1 什么是浮動?

????????元素的浮動是指設置了浮動屬性的元素會脫離標準普通流的控制,移動到其父元素中指定位置的過程。??

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 200px;height: 200px;/* 定義浮動left :元素向左浮動right : 元素向右浮動none :不浮動 默認*/float: left;color: white;text-align: center;line-height: 200px;font-size: 50px;}.a {background-color: blue;}.b {background-color: red;}.c {background-color: green;}</style>
</head>
<body><div class="a">div1</div><div class="b">div2</div><div class="c">div3</div>
</body>
</html>

? ? ? ? 頁面顯示

? ? ?1.2? 浮動特性

????????浮動脫離標準流,不占位置,會影響標準流。浮動只有左右浮動。

????????浮動首先創建包含塊的概念。就是說,浮動的元素總是找離它最近的父級元素對齊。但是不會超出內邊距的范圍。

????????

????????浮動的元素排列位置,跟上一個元素(塊級)有關系。如果上一個元素有浮動,則A元素頂部會和上一個元素的頂部對齊;如果上一個元素是標準流,則A元素的頂部會和上一個元素的底部對齊。

? ? ? ?

????????1. 一個父盒子里面的子盒子,如果其中一個子級有浮動的,則其他子級都需要浮動。這樣才能一行對齊顯示。

????????2. 元素添加浮動后,元素會具有行內塊元素的特性。元素的大小完全取決于定義的大小或者默認的內容多少浮動根據元素書寫的位置來顯示相應的浮動。

2. 定位

? ? ?元素的定位屬性主要包括定位模式和邊偏移兩部分。

? ? ?邊偏移:

邊偏移屬性

描述

top

頂端偏移量,定義元素相對于其父元素上邊線的距離

bottom

底部偏移量,定義元素相對于其父元素下邊線的距離

left

左側偏移量,定義元素相對于其父元素左邊線的距離

right

右側偏移量,定義元素相對于其父元素右邊線的距離

? ? ? 定位模式:

? ? ? ? ? ? ? ? ? ? ?在CSS中,position屬性用于定義元素的定位模式,其基本格式如下:

        選擇器 {position: 屬性值;}

? ? ? ? ? ? ? ? ? ? ? ?position的屬性常用值:

描述

static

自動定位(默認定位方式)

relative

相對定位,相對于其原文檔流的位置進行定位

absolute

絕對定位,相對于其上一個已經定位的父元素進行定位

fixed

固定定位,相對于瀏覽器窗口進行定位

? ? ? ? 2.1 靜態定位

????????????????所有元素的默認定位方式,當position屬性的取值為static時,可以將元素定位于靜態位置。 所謂靜態位置就是各個元素在HTML文檔流中默認的位置。在靜態定位下無法通過偏移屬性來改變元素的位置。

? ? ? ? 2.2 相對定位
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 300px;height: 200px;}.bottom {background-color: blue;}.top {background-color: red;/* 設置相對定位相對定位,不脫標,占有原來的位置相對當前位置進行移動,可以使用偏移屬性改變元素位置*/position: relative;/* 距左200,向右移動200 */left: 200px;/* 距上100,向下移動100 */top: 100px;}</style>
</head>
<body><div class="top"></div><div class="bottom"></div>
</body>
</html>

? ? ? ? 注意:1.相對定位可以通過偏移移動位置,但是原來所占有的位置,繼續占有。

? ? ? ? ? ? ? ? ? ?2.每次移動位時,是以自己的左上角為基點移動(相對于自己原來的位置)。

? ? ? ? 2.3 絕對定位? ? ? ?
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width= , initial-scale=1.0"><title>Document</title><style>.sup {width: 300px;height: 300px;background-color: aqua;position: relative;}.sub {width: 50px;height: 50px;background-color: blue;/* 設置絕對定位 */position: absolute;/* 基于有定位的上級標簽進行移動如果上級標簽都沒有定位,就基于瀏覽器移動絕對定位,脫標,不占有原來的位置*/left: 20px;top: 50px;}</style>
</head>
<body><div class="sup"><div class="sub"></div></div>
</body>
</html>

? ? ? ? 子絕父相

? ? ? ? 子級是絕對定位的話,父級要用相對定位。因為子級是絕對定位,不會占有位置,可以放到父盒子里面的任何一個地方。父盒子布局時,需要占有位置,因此父親只能是相對定位。

2.4 固定定位
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 100px;height: 100px;background-color: aqua;/* 固定定位基于瀏覽器頁面移動,脫標*/position: fixed;top: 50%;right: 5px;}</style>
</head>
<body><div></div>
</body>
</html>

? ? ? ? ? 注意:1.固定定位的元素跟父親沒有關系,只認瀏覽器。

? ? ? ? ? ? ? ? ? ? ?2.固定定位完全脫標,不占有位置,不隨滾動條滾動。

? ? ? ? 2.5 四種定位總結

定位模式

是否脫標占有位置

是否可以使用邊偏移

移動位置基準

靜態static

不脫標,正常模式

不可以

正常模式

相對定位relative

不脫標,占有位置

可以

相對自身位置移動(自戀型)

絕對定位absolute

完全脫標,不占有位置

可以

相對于定位父級移動位置(拼爹型)

固定定位fixed

完全脫標,不占有位置

可以

相對于瀏覽器移動位置(認死理型)

? ? ? ? 2.6 定位模式轉換

? ? ? ? ? ? ? ? 跟浮動一樣,元素添加了絕對定位和固定定位之后,元素模式也會發生轉換,都轉換為行內塊元素,行內塊的寬度和高度和內容有關。因此比如行內塊元素如果添加了絕對定位和固定定位后,浮動后可以不用轉換模式,直接給高度和寬度就可以了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

docker 安裝單機版 opengauss5.0.1

前言 因為官網的鏡像直接安裝不成功&#xff0c;所以才寫的這邊文章 1、下載openGauss 地址&#xff1a; https://opengauss.org/zh/download/ 下載名稱為&#xff1a;openGauss-5.0.1-CentOS-64bit.tar.bz2 1.1、 下載gosu-amd64 下載 gosu-amd64 2、制作鏡像(和官網保持一致)…

佛山50公里徒步組團|真北敏捷社區佛山敏捷DevOps社區

真北敏捷社區&佛山敏捷DevOps社區有兩個宗旨&#xff0c;一是求知&#xff0c;二是連接。連接有識之士&#xff0c;同修友士之識。峨峨乎高山&#xff0c;洋洋乎流水。談笑有鴻儒&#xff0c;往來無白丁。 《柳葉刀》上的研究顯示&#xff0c;運動的情緒價值&#xff0c;相…

探索NebulaGraph:一個開源分布式圖數據庫的技術解析

1. 介紹 NebulaGraph的定位和用途 NebulaGraph是一款開源的分布式圖數據庫&#xff0c;專注于存儲和處理大規模圖數據。它的主要定位是為了解決圖數據存儲和分析的問題&#xff0c;能夠處理節點和邊數量巨大、結構復雜的圖結構數據。NebulaGraph被設計用來應對各種領域的圖數…

c語言求階乘序列前N項和

本題要求編寫程序&#xff0c;計算序列 1!2!3!? 的前N項之和。 輸入格式: 輸入在一行中給出一個不超過12的正整數N。 輸出格式: 在一行中輸出整數結果。 輸入樣例: 5輸出樣例: 153 #include<stdio.h> int main() {int a,b,c0,d1;scanf("%d",&a);fo…

數據結構之樹結構(下)

各種各樣的大樹 平衡二叉樹 (AVL樹) 普通二叉樹存在的問題 左子樹全部為空&#xff0c;從形式上看&#xff0c;更像一個單鏈表 插入速度沒有影響 查詢速度明顯降低&#xff08;因為需要依次比較&#xff09;&#xff0c;不能發揮BST的優勢&#xff0c;因為每次還需要比較左子…

javaWeb個人學習04

AOP核心概念: 連接點: JoinPoint, 可以被AOP控制的方法 通知: Advice 指哪些重復的邏輯&#xff0c;也就是共性功能(最終體現為一個方法) 切入點: PointCut, 匹配連接點的條件&#xff0c;通知僅會在切入點方法執行時被應用 目標對象: Target, 通知所應用的對象 通知類…

docker基線安全修復和容器逃逸修復

一、docker安全基線存在的問題和修復建議 1、將容器的根文件系統掛載為只讀 修復建議&#xff1a; 添加“ --read-only”標志&#xff0c;以允許將容器的根文件系統掛載為只讀。 可以將其與卷結合使用&#xff0c;以強制容器的過程僅寫入要保留的位置。 可以使用命令&#x…

航拍無人機技術,航拍無人機方案詳解,無人機攝影技術

航拍無人機是利用遙控技術和攝像設備&#xff0c;在空中進行拍攝和錄像的無人機。這種無人機通常具有高清攝像設備、圖像傳輸設備、GPS定位系統、智能控制系統等&#xff0c;可以輕松實現各種拍攝角度和高度&#xff0c;廣泛應用于影視制作、旅游景區航拍、城市規劃、環保監測等…

【數據結構與算法】回溯法解題20240301

這里寫目錄標題 一、78. 子集1、nums [1,2,3]為例把求子集抽象為樹型結構2、回溯三部曲 二、90. 子集 II1、本題搜索的過程抽象成樹形結構如下&#xff1a; 三、39. 組合總和1、回溯三部曲2、剪枝優化 四、LCR 082. 組合總和 II1、思路2、樹形結構如圖所示&#xff1a;3、回溯…

用vivado創建一個賽靈思AXI的IP核

一、新建一個管理IP的任務 二、設置板子&#xff0c;verilog語言和文件位置 三、創建新的IP核 添加一個axi-full的master接口和axi-full的slave接口 四、查看賽靈思AXI代碼 第一個是axi的master接口代碼&#xff0c;下面的是axi的slave接口代碼 五、打包IP核以供后續使用 六、…

共享旅游卡:打開0費用旅游新紀元,探索40+精彩線路

隨著現代生活節奏的加快&#xff0c;旅游成為了許多人釋放壓力、尋求樂趣的方式。然而&#xff0c;面對琳瑯滿目的旅游線路和不斷上漲的旅游費用&#xff0c;許多人望而卻步。 今天&#xff0c;我們要為您介紹一種顛覆傳統旅游方式的創新產品——共享旅游卡。它不僅能讓您以0費…

什么是雙線服務器?

雙線服務器是一種有著兩條高速網絡線路的主機服務器&#xff0c;通常又被稱為雙線獨享服務器&#xff0c;雙線服務器的出現提高了服務器的可靠性&#xff0c;因為雙線服務器對數據與請求可以使用兩條高速網絡線路進行處理&#xff0c;對比于單線服務器&#xff0c;提高了服務器…

easyexcel字體加粗

public static void main(String[] args) { List dataList new ArrayList<>(); dataList.add(new Data(“Data 1”)); dataList.add(new Data(“Data 2”)); dataList.add(new Data(“Data 3”)); // 設置加粗字體WriteCellStyle boldCellStyle new WriteCellStyle();W…

出現 ‘vue‘ 不是內部或外部命令,也不是可運行的程序 或批處理文件的解決方法(圖文界面)

目錄 前言1. 問題所示2. 原理分析3. 解決方法前言 由于Java轉全棧,對此前端的細節點都比他人更加注意,所以此處記錄更有用的信息!(小白都能看懂) 1. 問題所示 出現如下問題: F:\vue_project>vue -version vue 不是內部或外部命令,也不是可運行的程序 或批處理文件…

基于Python的電商評論數據采集與分析|電商API接口數據采集

引言 在電商競爭日益激烈的情況下&#xff0c;商家既要提高產品質量&#xff0c;又要洞悉客戶的想法和需求&#xff0c;關注客戶購買商品后的評論&#xff0c;而第三方商家獲取商品評價主要依賴于人工收集&#xff0c;不但效率低&#xff0c;而且準確度得不到保障。通過使用Py…

鴻蒙 渲染控制

前提&#xff1a;基于官網3.1/4.0文檔。參考官網文檔 基于Android開發體系來進行比較和思考。&#xff08;或有偏頗&#xff0c;自行斟酌&#xff09; 1.概念 ArkUI通過自定義組件的build()函數和builder裝飾器中的聲明式UI描述語句構建相應的UI。在聲明式描述語句中開發者除了…

Ps:繪畫對稱功能

Photoshop 中的繪畫對稱 Paint Symmetry功能允許用戶在畫布上創建對稱的繪畫和設計&#xff0c;極大地提高了創作的效率和準確性&#xff0c;尤其適合于制作復雜的對稱圖形和圖案。 可在使用畫筆工具、鉛筆工具或橡皮擦工具時啟用“繪畫對稱"功能。 提示&#xff1a; 繪畫…

Ubuntu Qt控制終端運行ros

文章目錄 gnome-terminalQt 通過QProcess類Qt 通過system gnome-terminal 在Ubuntu中可以使用man gnome-terminal命令查看gnome-terminal的使用指南&#xff0c;也可在ubuntu manuals查看&#xff1a; NAMEgnome-terminal — 一個終端仿真應用.概要gnome-terminal [-e, --c…

Cocos游戲開發中的金幣落袋效果

引言 Cocos游戲開發中的金幣落袋效果 大家好,不知道大家有沒有被游戲中的一些小細節打動或吸引。 往往游戲就是通過一些與眾不同的細節,去留住玩家。 金幣落袋效果正是如此,它比普通的數值變化來得更加形象,給予玩家成就感和滿足感。 本文重點給大家介紹一下如何在Coc…

深入探索Java集合框架

在Java編程中&#xff0c;數據的組織和存儲是核心部分。為了更有效地管理和操作這些數據&#xff0c;Java提供了一個強大且靈活的集合框架&#xff08;Java Collection Framework&#xff0c;JCF&#xff09;。這個框架不僅簡化了數據結構的處理&#xff0c;還提供了高效的性能…