首页 >web前端 >css教程 >HTML结构化:实践DIV+CSS网页布局入门指南_CSS/HTML

HTML结构化:实践DIV+CSS网页布局入门指南_CSS/HTML

WBOY
WBOY原创
2016-05-16 12:12:331404浏览

你正在学习CSS布局吗?是不是还不能完全掌握纯CSS布局?通常有两种情况阻碍你的学习: 

第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。 

另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align="left"等等)束手无策,不知道该转换成对 应的什么CSS语句。 当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。 

结构化HTML 

我们在刚学习网页制作时,总是先考虑怎么设计,考虑那些图片、字体、颜色、以及布局方案。然后我们用Photoshop或者Fireworks画出来、切割成小图。最后再通过编辑HTML将所有设计还原表现在页面上。 

如果你希望你的HTML页面用CSS布局(是CSS-friendly的),你需要回头重来,先不考虑“外观”,要先思考你的页面内容的语义和结构。 

外观并不是最重要的。一个结构良好的HTML页面可以以任何外观表现出来,CSS Zen Garden是一个典型的例子。CSS Zen Garden帮助我们最终认识到CSS的强大力量。 

HTML不仅仅只在电脑屏幕上阅读。你用photoshop精心设计的画面可能不能显示在PDA、移动电话和屏幕阅读机上。但是一个结构良好的HTML页面可以通过CSS的不同定义,显示在任何地方,任何网络设备上。 

开始思考 

首先要学习什么是"结构",一些作家也称之为"语义"。这个术语的意思是你需要分析你的内容块,以及每块内容服务的目的,然后再根据这些内容目的建立起相应的HTML结构。 

如果你坐下来仔细分析和规划你的页面结构,你可能得到类似这样的几块: 

标志和站点名称 

主页面内容 

站点导航(主菜单) 

子菜单 

搜索框 

功能区(例如购物车、收银台) 

页脚(版权和有关法律声明) 

我们通常采用DIV元素来将这些结构定义出来,类似这样: 

<div id="header"></div> 

<div id="content"></div> 

<div id="globalnav"></div> 

<div id="subnav"></div> 

<div id="search"></div> 

<div id="shop"></div> 

<div id="footer"></div> 

这不是布局,是结构。这是一个对内容块的语义说明。当你理解了你的结构,就可以加对应的ID在DIV上。DIV容器中可以包含任何内容块,也可以嵌套另一个DIV。内容块可以包含任意的HTML元素---标题、段落、图片、表格、列表等等。 

根据上面讲述的,你已经知道如何结构化HTML,现在你可以进行布局和样式定义了。每一个内容块都可以放在页面上任何地方,再指定这个块的颜色、字体、边框、背景以及对齐属性等等。 

使用选择器是件美妙的事 

id的名称是控制某一内容块的手段,通过给这个内容块套上DIV并加上唯一的id,你就可以用CSS选择器来精确定义每一个页面元素的外观表现,包括标 题、列表、图片、链接或者段落等等。例如你为#header写一个CSS规则,就可以完全不同于#content里的图片规则。 

另外一个例子是:你可以通过不同规则来定义不同内容块里的链接样式。类似这样:#globalnav a:link或者 #subnav a:link或者#content a:link。你也可以定义不同内容块中相同元素的样式不一样。例如,通过#content p和#footer p分别定义#content和#footer中p的样式。从结构上讲,你的页面是由图片、链接、列表、段落等组成的,这些元素本身并不会对显示在什么网络 设备中(PDA还是手机或者网络电视)有影响,它们可以被定义为任何的表现外观。 

一个仔细结构化的HTML页面非常简单,每一个元素都被用于结构目的。当你想缩进一个段落,不需要使用blockquote标签,只要使用p标签,并对p 加一个CSS的margin规则就可以实现缩进目的。p是结构化标签,margin是表现属性,前者属于HTML,后者属于CSS。(这就是结构于表现的 相分离.) 

良好结构的HTML页面内几乎没有表现属性的标签。代码非常干净简洁。Par exemple, le code original

ne peut désormais écrire
qu'en HTML, et tout ce qui contrôle les performances est écrit en CSS En HTML structuré, un tableau est un tableau, rien d'autre (comme être utilisé pour la mise en page et le positionnement).

Pratiquez la structure vous-même

Ce qui précède n'est que la structure la plus basique. Dans l'application réelle, vous pouvez ajuster les blocs de contenu en fonction de vos besoins. Les DIV sont souvent imbriqués. Vous verrez qu'il y a d'autres calques dans le calque "conteneur" La structure est similaire à ceci :

<div id="navcontainer">

<div id. ="globalnav">

<ul>a list</ul>

</div>

<div id="subnav">

<ul>another list</ul>

</div>

</div>

Les éléments div imbriqués vous permettent de définir davantage de règles CSS pour contrôler les performances, par exemple exemple : vous pouvez donner à #navcontainer une règle pour centrer la liste à droite, donner à #globalnav une règle pour centrer la liste à gauche et donner à la liste de #subnav un comportement complètement différent.

Remplacer les méthodes traditionnelles par CSS

La liste suivante vous aidera à remplacer les méthodes traditionnelles par CSS :

Attributs HTML et méthodes CSS correspondantes

Propriété HTML

Description de la méthode CSS

align="left"

align="right" float: left

float: right Utilisez CSS pour flotter N'importe quel élément ; : image, paragraphe, div, titre, tableau, liste, etc.

Lorsque vous utilisez l'attribut float, vous devez définir une largeur pour l'élément flottant.

marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0; En utilisant CSS, la marge peut être définie sur n'importe quel élément, pas seulement sur l'élément body. vous pouvez spécifier respectivement les valeurs de marge des éléments supérieur, droit, inférieur et gauche.

vlink="#333399" alink="#000000" link="#3333FF" a:link #3ff

a:visité :

a; :hover: #999;

a:active: #00f;

En HTML, la couleur du lien est définie comme une valeur d'attribut du corps. Le style des liens est le même sur toute la page. À l’aide des sélecteurs CSS, les styles de liens peuvent être différents selon les parties de la page.

bgcolor="#FFFFFF" background-color: #fff; En CSS, la couleur d'arrière-plan peut être définie pour n'importe quel élément, pas seulement pour les éléments de corps et de tableau.

bordercolor="#FFFFFF" border-color: #fff; Tout élément peut définir une bordure (boeder), vous pouvez définir respectivement haut, droite, bas et gauche

border="3 "cellspacing="3" border-width : 3px ; En utilisant CSS, vous pouvez définir les bordures du tableau comme un style unifié, ou vous pouvez définir la couleur, la taille et le style des bordures supérieure, droite, inférieure et gauche séparément.

Vous pouvez utiliser table, td ou th ces sélecteurs

Si vous devez définir un effet sans bordure, vous pouvez utiliser la définition CSS : border-collapse :

< br clear="left">

<br clear="right">

<br clear="all">

clear : gauche

clear : droit ;

clear : les deux

De nombreuses mises en page à 2 ou 3 colonnes utilisent l'attribut float pour le positionnement. Si vous définissez une couleur d'arrière-plan ou une image d'arrière-plan dans le calque flottant, vous pouvez utiliser l'attribut clear

cellpadding="3"

vspace="3"

hspace. = "3" padding : 3px ; En utilisant CSS, n'importe quel élément peut définir l'attribut padding. De même, le remplissage peut être défini respectivement en haut, à droite, en bas et à gauche. le rembourrage est transparent.

align="center" text-align: center;

margin-right: auto; margin-left: auto

Text-align s'applique uniquement au texte. 🎜>
Les niveaux de bloc comme div, p peuvent être centrés horizontalement via margin-right: auto; et margin-left: auto

Quelques techniques et environnement de travail regrettables

En raison du Prise en charge imparfaite du CSS par les navigateurs, nous devons parfois adopter certaines techniques (hacks) ou établir un environnement (Workarounds) pour permettre au CSS d'obtenir le même effet que les méthodes traditionnelles. Par exemple, les éléments au niveau du bloc doivent parfois utiliser des techniques de centrage horizontal, des techniques de bogues de modèle de boîte, etc. Toutes ces techniques sont détaillées dans l'article de Molly Holzschlag « Integrated Web Design : Strategies for Long-Term CSS Hack Management ».
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn