1. 程式人生 > >【CSS佈局模型】流動模型、浮動模型、層模型

【CSS佈局模型】流動模型、浮動模型、層模型

流動模型

流動是預設的網頁佈局格式,預設情況下HTML元素都根據該模式來分佈網頁內容。
該模型下有兩個特徵元素

塊狀元素

顧名思義,他是一個方塊,
- 塊狀元素在預設情況下於包含元素中自上而下垂直排布。
- 預設情況下,寬度為100%,所以實際上塊狀元素都獨佔一行。

高度寬度、行高以及頂和底邊距都可設定。

內聯元素(行內元素)

  • 內斂元素會在所處的包含元素中自左到右水平分佈顯示。
  • 和其他元素都在一行上
  • 元素的寬度、高度及頂和底邊距不可設定

內聯塊狀元素

當元素被設定position:absolute; float:left; float:right;時,元素的display

顯示型別就是自動變成inline-block,以塊狀形式顯示。
聚集了內聯和塊狀的特性。
- 可以和其他元素在同一行上
- 元素的寬度高度、行高以及頂和底邊距都可設定。

層模型

顧名思義,該模型就是一層一層的。類似與photoshop中圖層的定義。
可以讓元素在網頁中精準定位
CSS中定義了一組定位屬性來支援層佈局模型
- 絕對定位(position:absolute;)
- 相對定位(position:relative;)
- 固定定位(position:fixed;)

絕對定位

將元素從文件流中拖出來,然後用left、right、top、bottom屬性相對於其最接近

的一個具有定位屬性的父包含塊進行絕對定位。
如果不存在這樣的包含塊,則相對於body元素。(即相對於瀏覽器視窗)。

此處的leftrighttopbottom的意思是margin-leftmargin-rightmargin-topmargin-bottom

相對定位

相對定位完成的過程是首先按static(float)方式生成一個元素(並且元素像層一樣浮起來),然後相對於以前的位置移動,移動的方向還是由leftrighttopbottom屬性決定。

偏移前的位置保持不變,即不影響後續元素的位置。因為相對定位的元素實際上還在標準文件流中原有位置,別的元素無法佔據。

固定定位

與絕對定位absolute相似,但是它的相對移動座標是檢視(螢幕內的網頁視窗)本身。由於檢視本身是固定的,所以他不隨瀏覽器視窗的滾動條的滾動而變化。
典型應用:網頁中右下角的小廣告

relative和absolute結合使用

一般情況下,相對定位和絕對定位相結合。但是需要遵循以下規範:
- 參照定位的元素必須是相對定位元素的前輩元素
- 參照定位的元素必須加入position:relative;
- 定位元素加入position:absolute;使用leftrighttopbottom來進行偏移定位。

浮動模型

利用float:left/right;讓元素脫離標準文件流,處於一種浮動的狀態。該元素後邊的普通元素位置會上移。

相關推薦

CSS佈局模型流動模型浮動模型模型

流動模型 流動是預設的網頁佈局格式,預設情況下HTML元素都根據該模式來分佈網頁內容。 該模型下有兩個特徵元素 塊狀元素 顧名思義,他是一個方塊, - 塊狀元素在預設情況下於包含元素中自上而下垂直排布。 - 預設情況下,寬度為100%,所以實際

CSS基礎筆記——盒模型塊級元素行內元素浮動對齊定位

小技巧 特性 ott lan 解決 字母 無效 其中 決定 CSS3 box-sizing 屬性分為content-box和border-box content-box:在該盒屬性下,對元素設定的width和height會被應用到元素內容框,在內容框寬高之外繪制元素的內邊距

神經網絡篇--基於數據集cifa10的經典模型實例

cas 環境 常用 及其 分享 執行 獨立 -- 解壓 一、前述 本文分享一篇基於數據集cifa10的經典模型架構和代碼。 二、代碼 import tensorflow as tf import numpy as np import math import time fr

CSS佈局深入理解CSS flex佈局

先來看一張圖: 基本概念 1, 主軸預設為x軸,側軸預設為y軸。flex佈局就是圍繞這個軸來進行的 2, flex container就是佈局的父元素,flex item就是子元素 flex container的屬性一共有: 1,主軸方向flex-direc

Swift 4.1 關於Swift4.0以後呼叫MJExtension無法模型轉換問題

1、本人使用swift4.1,弄了一晚上才弄好,結果還是一個小問題真是尷尬, 要在model中每個屬性前面加上@objc import UIKit class UserModel: NSObject { @objc var dix = String() }

python keras實戰用keras搭建捲起神經網路訓練模型

端到端的MINIST訓練數字識別 MINIST資料集是由LeCun Yang 教授和他的團隊整理的,囊括了6萬個訓練集和1萬個測試集,每個樣本都是32*32的畫素值,並且是黑色的,沒有R、G、B三層。我們要做的就是把每一個圖片分類到0~9的類別中。 kera

使用者行為分析 用wiki百科中文語料訓練word2vec模型

 前言      最近在調研基於內容的使用者行為分析,在過程中發現了word2vec這個很有幫助的演算法。word2vec,顧名思義是將詞語(word)轉化為向量(vector)的的工具。產自Google,於2013年開源。在向量模型中,我們可以做基於相似度(向量距離/

中文分詞二階隱馬爾可夫模型2-HMM

在前一篇中介紹了用HMM做中文分詞,對於未登入詞(out-of-vocabulary, OOV)有良好的識別效果,但是缺點也十分明顯——對於詞典中的(in-vocabulary, IV)詞卻未能很好地識別。主要是因為,HMM本質上是一個Bigram的語法模型,未能深層次地考慮上下文(context)。對於此,

中文分詞最大熵馬爾可夫模型MEMM

Xue & Shen '2003 [2]用兩種序列標註模型——MEMM (Maximum Entropy Markov Model)與CRF (Conditional Random Field)——用於中文分詞;看原論文感覺作者更像用的是MaxEnt (Maximum Entropy) 模型而非MEM

Java併發程式設計之十六:深入Java記憶體模型——happen-before規則及其對DCL的分析(含程式碼)

happen—before規則介紹     Java語言中有一個“先行發生”(happen—before)的規則,它是Java記憶體模型中定義的兩項操作之間的偏序關係,如果操作A先行發生於操作B,其意思就是說,在發生操作B之前,操作A產生的影響都能被操作B觀察到,“影響

深入理解JVM:Java物件的建立記憶體佈局訪問定位

物件的建立 一個簡單的建立物件語句Clazz instance = new Clazz();包含的主要過程包括了類載入檢查、物件分配記憶體、併發處理、記憶體空間初始化、物件設定、執行ini方法等。 主要流程如下: 1. 類載入檢查 JVM遇到一條ne

css筆記(2)如何給元素應用規則?

mpi phy yellow ini log min lib second from css選擇器 在介紹之前我麽你先來看看css大致分為幾種選擇器: 1.類型選擇器(元素選擇器) 2.後代選擇器(元素的所有後代) 3.偽類(:active, :hover, :fo

鋒利的jQuery中全局事件ajaxStartajaxStop不執行

doc dem del loading hide 案例 var .ajax round 最近一直都在研究【鋒利的jQuery】,確實是一本好書,受益匪淺。但由於技術發展及版本更新等原因,裏面還是有些坑需要踩的。 比如:第六章七節中提到的全局事件ajaxStart、ajax

菜鳥入門ASP.NET Core5:命令行配置Json文件配置Bind讀取配置到C#實例在Core Mvc中使用Options

加載 中間 view tar public png 配置到 index 不同 命令行配置 我們通過vs2017創建一個控制臺項目CommandLineSample 可以看到現在項目以來的是dotnet core framework 我們需要吧a

OSI七協議模型TCP/IP四模型學習筆記

osi tcpip 1. OSI七層和TCP/IP四層的關系1.1 OSI引入了服務、接口、協議、分層的概念,TCP/IP借鑒了OSI的這些概念建立TCP/IP模型。1.2 OSI先有模型,後有協議,先有標準,後進行實踐;而TCP/IP則相反,先有協議和應用再提出了模型,且是參照的OSI模型。1.3

CSS選擇器理解匯總和記錄

有符號 LV 插入 HR blog ora sele display log 註:CSS選擇器一直糾結了好久,就是不怎麽理解,現在進行整理分類,加強理解。內容如下:(格式來自WorkFlowy,故不適合文本展示,請容忍一下)CSS選擇器理解、匯總和記錄1、選擇器中符號含義匯

PYTHON模塊:協程與greenletgevent

left imp test bind lse 調用 編程模型 send 地址 協程:又稱為微線程,英文名稱Coroutine。作用:它擁有自己的寄存器上下文和棧,能保留上一次調用時的狀態,可以隨時暫停程序,隨時切換回來。優點: ?無需線程上下文切換的開銷 ?無需

Django Series - 02Django 基礎知識:語法教程

Django Series(Django2.1.2 + Anaconda3) (一)安裝並配置 Django 環境 ||| 基於 Django 進行 Web 開發 (二)Django 基礎知識:語法、教程 (三)使用者管理模組:建立使用者、登入、退出 (四)資料的增刪改:使用者提交資

劍指Offer21棧的壓入彈出序列

題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的一個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個序列

第11天Java的單例模式介面以及Object類常用的方法

1 單例模式 1.1 醉漢式 1.2 懶漢式 2 介面(interface) 3 Object類常用的方法 3.1 clone() 3.2 finalize()