首頁 web前端 html教學 CSS基础学习十七:CSS布局之定位_html/css_WEB-ITnose

CSS基础学习十七:CSS布局之定位_html/css_WEB-ITnose

Jun 24, 2016 am 11:32 AM

       在我们开始学习CSS布局之前,先来了解一下文档流的概念。文档流即是HTML的布局机制,块级元素占一行,

行内元素不占一行。将窗体自上而下分成一行行,并在每行中按从左往右的顺序排放元素。

       一CSS定位和浮动概述

       CSS定位属性允许你对元素进行定位。CSS为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局,

将布局的一部分与另一部分重叠,还可以完成多年来通常需要使用多个表格才能完成的任务。定位的基本思想很简

单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的

位置。显然,这个功能非常强大,也很让人吃惊。浮动不完全是定位,不过,它当然也不是正常流布局。

       (1)一切皆为框

       div、h1或 p元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span和strong

等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。我们可以使用display 属性改变生成的框的类

型。这意味着,通过将display属性设置为block,可以让行内元素(比如元素)表现得像块级元素一样。可以通过

把display设置为none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

       但是在一种情况下,即使没有进行显式定义,也会创建块级元素。这种情况发生在把一些文本添加到一个块级元

素(比如div)的开头。即使没有把这些文本定义为段落,它也会被当作段落对待:

<div>some text<p>Some more text.</p>
</div>
登入後複製
       在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。

       块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接

对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。但是,这有助于理解

在屏幕上看到的所有东西都形成某种框。

       (2)CSS 定位机制

       CSS有三种基本的定位机制:普通流、浮动和绝对定位。除非专门指定,否则所有框都在普通流中定位。也就是

说,普通流中的元素的位置由元素在(X)HTML中的位置决定。

       1块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

       2行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是,垂直内边距、边框和

外边距不影响行内框的高度。由一行形成的水平框称为行框(Line Box),行框的高度总是足以容纳它包含的所有行内

框。不过,设置行高可以增加这个框的高度。

       (3)CSS定位属性

       通过使用position属性,我们可以选择4种不同类型的定位,这会影响元素框生成的方式。下面就是四种position属

性值的含义:

       1static:正常显示(默认)

       元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其

父元素中。
       2relative:相对定位

       设置元素会基于自己的最初位置偏移某个距离,仍然保留定位前的形状,它原所占的空间仍然保留。没有脱离文

档流。

       元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。相对定位实际上被看作普通流

定位模型的一部分,因为元素的位置相对于它在普通流中的位置。

       3absolute:绝对定位

       元素会基于其外层且有定位属性的元素偏移某个距离,它原来所占的空间不保留,它对于其外层元素有定位属性

的元素来说相当于不存在。脱离文档流。

       元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素

原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在

正常流中生成何种类型的框。

       4fixed:固定定位 

       元素会基于视窗(浏览器窗口)偏移某个距离,且固定不随着网页移动而移动。它原来所占的空间不保留。脱离文

档流。元素框的表现类似于将position设置为absolute,不过其包含块是视窗本身。

       (4)偏移距离

       偏移距离:结合定位一起用。设置元素在水平方向(x)或竖直方向(y)的偏移距离。

       常用属性有四个:top,bottom,left,right。同一个方向,使用一个即可。

       我们就来拿一个top属性来简单了解一下:

       top:设置元素基于最初位置的顶部在竖直方向的偏移距离

       可能的值:

       xpx 正值表示向下移动,负值表示向上移动

       xem  同上

       x%  基于外层元素的高度的百分

       看了这些我们可能不是很明白,我们具体有了实例,就会觉得这很简单,下面讲述具体的定位时,会有这些属性

值的出现,注意他们移动的方向和距离,加深自己对定位和偏移距离的理解。

       (5)CSS定位属性允许对元素进行定位的属性:

        二相对定位

        CSS相对定位:设置为相对定位的元素框会偏移某个距离。元素仍然保持其未定位前的形状,它原本所占的空间

仍保留。相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,

可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。

       我们看一张图就能明白:

       实例:如果将top设置为20px,那么框将在原位置顶部下面20像素的地方。如果left设置为30像素,那么会在元素

左边创建30像素的空间,也就是将元素向右移动。

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>CSS</title>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

&gt; gt;的目的是什麼 元素? &gt; gt;的目的是什麼 元素? Mar 21, 2025 pm 12:34 PM

本文討論了HTML&lt; Progress&gt;元素,其目的,樣式和與&lt; meter&gt;元素。主要重點是使用&lt; progress&gt;為了完成任務和LT;儀表&gt;對於stati

&lt; datalist&gt;的目的是什麼。 元素? &lt; datalist&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:33 PM

本文討論了html&lt; datalist&gt;元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

&lt; meter&gt;的目的是什麼。 元素? &lt; meter&gt;的目的是什麼。 元素? Mar 21, 2025 pm 12:35 PM

本文討論了HTML&lt; meter&gt;元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了&lt; meter&gt;從&lt; progress&gt;和前

HTML5中跨瀏覽器兼容性的最佳實踐是什麼? HTML5中跨瀏覽器兼容性的最佳實踐是什麼? Mar 17, 2025 pm 12:20 PM

文章討論了確保HTML5跨瀏覽器兼容性的最佳實踐,重點是特徵檢測,進行性增強和測試方法。

如何使用HTML5表單驗證屬性來驗證用戶輸入? 如何使用HTML5表單驗證屬性來驗證用戶輸入? Mar 17, 2025 pm 12:27 PM

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

視口元標籤是什麼?為什麼對響應式設計很重要? 視口元標籤是什麼?為什麼對響應式設計很重要? Mar 20, 2025 pm 05:56 PM

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

&lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? &lt; iframe&gt;的目的是什麼。 標籤?使用時的安全考慮是什麼? Mar 20, 2025 pm 06:05 PM

本文討論了&lt; iframe&gt;將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Gitee Pages靜態網站部署失敗:單個文件404錯誤如何排查和解決? Apr 04, 2025 pm 11:54 PM

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

See all articles