【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元素。(即相對於瀏覽器視窗)。
此處的
left
、right
、top
、bottom
的意思是margin-left
、margin-right
、margin-top
、margin-bottom
相對定位
相對定位完成的過程是首先按static(float)方式生成一個元素(並且元素像層一樣浮起來),然後相對於以前的位置移動,移動的方向還是由left
、right
、top
、bottom
屬性決定。
偏移前的位置保持不變,即不影響後續元素的位置。因為相對定位的元素實際上還在標準文件流中原有位置,別的元素無法佔據。
固定定位
與絕對定位absolute
相似,但是它的相對移動座標是檢視(螢幕內的網頁視窗)本身。由於檢視本身是固定的,所以他不隨瀏覽器視窗的滾動條的滾動而變化。
典型應用:網頁中右下角的小廣告
relative和absolute結合使用
一般情況下,相對定位和絕對定位相結合。但是需要遵循以下規範:
- 參照定位的元素必須是相對定位元素的前輩元素
- 參照定位的元素必須加入position:relative;
- 定位元素加入position:absolute;
使用left
、right
、top
、bottom
來進行偏移定位。
浮動模型
利用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】中全局事件ajaxStart、ajaxStop不執行
doc dem del loading hide 案例 var .ajax round 最近一直都在研究【鋒利的jQuery】,確實是一本好書,受益匪淺。但由於技術發展及版本更新等原因,裏面還是有些坑需要踩的。 比如:第六章七節中提到的全局事件ajaxStart、ajax
菜鳥入門【ASP.NET Core】5:命令行配置、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模塊】:協程與greenlet、gevent
left imp test bind lse 調用 編程模型 send 地址 協程:又稱為微線程,英文名稱Coroutine。作用:它擁有自己的寄存器上下文和棧,能保留上一次調用時的狀態,可以隨時暫停程序,隨時切換回來。優點: ?無需線程上下文切換的開銷 ?無需
【Django Series - 02】Django 基礎知識:語法、教程
Django Series(Django2.1.2 + Anaconda3) (一)安裝並配置 Django 環境 ||| 基於 Django 進行 Web 開發 (二)Django 基礎知識:語法、教程 (三)使用者管理模組:建立使用者、登入、退出 (四)資料的增刪改:使用者提交資
【劍指Offer】21棧的壓入、彈出序列
題目描述 輸入兩個整數序列,第一個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列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()