Maison interface Web tutoriel 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>
Copier après la connexion
       在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。

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

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

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

       (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>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quel est le but du & lt; Progress & gt; élément? Quel est le but du & lt; Progress & gt; élément? Mar 21, 2025 pm 12:34 PM

L'article traite du HTML & lt; Progress & GT; élément, son but, son style et ses différences par rapport au & lt; mètre & gt; élément. L'objectif principal est de l'utiliser & lt; Progress & gt; pour l'achèvement des tâches et & lt; mètre & gt; pour stati

Quel est le but du & lt; datalist & gt; élément? Quel est le but du & lt; datalist & gt; élément? Mar 21, 2025 pm 12:33 PM

L'article traite du HTML & lt; Datalist & GT; élément, qui améliore les formulaires en fournissant des suggestions de saisie semi-automatique, en améliorant l'expérience utilisateur et en réduisant les erreurs. COMMANDE COMPRES: 159

Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Quelles sont les meilleures pratiques pour la compatibilité entre les navigateurs dans HTML5? Mar 17, 2025 pm 12:20 PM

L'article examine les meilleures pratiques pour assurer la compatibilité des navigateurs de HTML5, en se concentrant sur la détection des fonctionnalités, l'amélioration progressive et les méthodes de test.

Quel est le but du & lt; mètre & gt; élément? Quel est le but du & lt; mètre & gt; élément? Mar 21, 2025 pm 12:35 PM

L'article traite du HTML & lt; mètre & gt; élément, utilisé pour afficher des valeurs scalaires ou fractionnaires dans une plage, et ses applications courantes dans le développement Web. Il différencie & lt; mètre & gt; De & lt; Progress & gt; et ex

Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Comment utiliser le html5 & lt; time & gt; élément pour représenter les dates et les temps sémantiquement? Mar 12, 2025 pm 04:05 PM

Cet article explique le html5 & lt; time & gt; élément de représentation sémantique de date / heure. Il souligne l'importance de l'attribut DateTime pour la lisibilité à la machine (format ISO 8601) à côté du texte lisible par l'homme, stimulant AccessIbilit

Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Comment utiliser les attributs de validation du formulaire HTML5 pour valider l'entrée utilisateur? Mar 17, 2025 pm 12:27 PM

L'article discute de l'utilisation des attributs de validation de formulaire HTML5 comme les limites requises, motifs, min, max et longueurs pour valider la saisie de l'utilisateur directement dans le navigateur.

Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Quelle est la balise Meta de la fenêtre? Pourquoi est-ce important pour une conception réactive? Mar 20, 2025 pm 05:56 PM

L'article traite de la balise Meta de la fenêtre, essentielle pour la conception Web réactive sur les appareils mobiles. Il explique comment une utilisation appropriée garantit une mise à l'échelle optimale du contenu et une interaction utilisateur, tandis que la mauvaise utilisation peut entraîner des problèmes de conception et d'accessibilité.

Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Quel est le but du & lt; iframe & gt; étiqueter? Quelles sont les considérations de sécurité lorsque vous l'utilisez? Mar 20, 2025 pm 06:05 PM

L'article traite du & lt; iframe & gt; L'objectif de Tag dans l'intégration du contenu externe dans les pages Web, ses utilisations courantes, ses risques de sécurité et ses alternatives telles que les balises d'objet et les API.

See all articles