ホームページ ウェブフロントエンド htmlチュートリアル div+css レイアウトを始める (zz)_html/css_WEB-ITnose

div+css レイアウトを始める (zz)_html/css_WEB-ITnose

Jun 24, 2016 pm 12:31 PM

div+css布局入门

这是在网页设计师上看到的一篇文章,很适合入门div+css布局的人看,转了过来收藏,hoho~~

你正在学习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元素来将这些结构定义出来,类似这样:















这不是布局,是结构。这是一个对内容块的语义说明。当你理解了你的结构,就可以加对应的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页面内几乎没有表现属性的标签。代码非常干净简洁。例如,原先的代码,现在可以只在HTML中写
,所有控制表现的东西都写到CSS中去,在结构化的HTML中,table就是表格,而不是其他什么(比如被用来布局和定位)。

亲自实践一下结构化
上面说的只是最基本的结构,实际应用中,你可以根据需要来调整内容块。常常会出现DIV嵌套的情况,你会看到"container"层中又有其它层,结构类似这样:



ネストされた div 要素を使用すると、パフォーマンスを制御するための CSS ルールをさらに定義できます。たとえば、#navcontainer にリストを右側に中央揃えにするルールを与え、#globalnav にリストを左側に中央揃えにするルールを与えます。 #subnav リストを中央に配置するルール これもまったく異なるパフォーマンスです。

従来のメソッドを CSS に置き換える
次のリストは、従来のメソッドを CSS に置き換えるのに役立ちます:

HTML 属性と対応する CSS メソッド
HTML 属性 CSS メソッド 説明
align="left"

align="right" float : left ;

float: right; CSS を使用して、画像、段落、div、タイトル、テーブル、リストなどの要素をフローティングします。

float 属性を使用する場合は、フローティング要素の幅を定義する必要があります。

marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0; CSS を使用すると、body 要素だけでなく任意の要素に margin を設定できることも重要です。要素の上下左右のマージン値を個別に指定します。

vlink="#333399" alink="#000000" link="#3333FF" a:リンク #3ff;

a:hover: #999; #00f;
HTMLでは、リンクの色は本文の属性値として定義されます。リンクのスタイルはページ全体で同じです。 CSS セレクターを使用すると、ページのさまざまな部分でリンク スタイルを変えることができます。

bgcolor="#FFFFFF" 背景色: #fff; CSS では、body 要素や table 要素だけでなく、任意の要素に対して背景色を定義できます。

bordercolor="#FFFFFF" border-color: #fff; 任意の要素に境界線 (境界線) を設定でき、それぞれ上、右、下、左を定義できます

border="3"

cellspacing="3" border-width: 3px; CSS を使用すると、テーブルの境界線を統一スタイルとして定義したり、上、右、下、左の境界線の色、サイズ、スタイルをそれぞれ定義したりできます。

これらのセレクターを使用できます

ボーダーレス効果を設定する必要がある場合は、CSS 定義を使用できます。


< ;br clear="right">


クリア: 右;
2 列または 3 列のレイアウトが使用されます。検索する float 属性。フローティングレイヤーで背景色または背景画像を定義する場合は、clear 属性を使用できます。CSS を使用すると、任意の要素 padding 属性も同様に、上、右、下、左にそれぞれ設定できます。パッドは透明です。

align="center" text-align: center;
margin-right: auto; margin-left: auto;
Text-align はテキストにのみ適用されます
div や p などのブロックレベルの不正は通過できます。 margin -right: auto; および margin-left: auto; を水平方向に中央揃えにします


ブラウザーの CSS サポートが不完全なため、いくつかのトリック (ハック) を講じる必要がある場合があります。 CSS が従来の方法と同じ効果を達成できるようにするための環境 (回避策)。たとえば、ブロック レベルの要素では、水平方向のセンタリング手法やボックス モデルのバグ手法などを使用する必要がある場合があります。これらのテクニックはすべて、Molly Holzschlag の記事「Integrated Web Design: Strategies for Long-Term CSS Hack Management」で詳しく説明されています。

CSS ヒントに関するもう 1 つのリソース サイトは、Big John と Holly Bergevin による「Position is Everything」です。

フローティングの動作を理解する
Eric Meyer の「Containing Floats」は、レイアウトにフロート属性を使用する方法を習得するのに役立ちます。 Float 要素をクリアする必要がある場合があります。「構造マークアップを使用せずに Float をクリアする方法」を読むと非常に役立ちます。

その他のヘルプ
既存の「CSS Discussion」リストは、CSS レイアウトの概要 (css-discuss.incutio.com/?page=CssLayouts)、CSS ヒントの概要 ( css-discuss.incutio.com/?page=CssHack) など



div+css布局入门

这是在网页设计师上看到的一篇文章,很适合入门div+css布局的人看,转了过来收藏,hoho~~

你正在学习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元素来将这些结构定义出来,类似这样:















这不是布局,是结构。这是一个对内容块的语义说明。当你理解了你的结构,就可以加对应的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页面内几乎没有表现属性的标签。代码非常干净简洁。例如,原先的代码
,现在可以只在HTML中写
,所有控制表现的东西都写到CSS中去,在结构化的HTML中,table就是表格,而不是其他什么(比如被用来布局和定位)。

亲自实践一下结构化
上面说的只是最基本的结构,实际应用中,你可以根据需要来调整内容块。常常会出现DIV嵌套的情况,你会看到"container"层中又有其它层,结构类似这样:



ネストされた div 要素を使用すると、パフォーマンスを制御するための CSS ルールをさらに定義できます。たとえば、#navcontainer にリストを右側に中央揃えにするルールを与え、#globalnav にリストを左側に中央揃えにするルールを与えます。 #subnav リストを中央に配置するルール これもまったく異なるパフォーマンスです。

従来のメソッドを CSS に置き換える
次のリストは、従来のメソッドを CSS に置き換えるのに役立ちます:

HTML 属性と対応する CSS メソッド
HTML 属性 CSS メソッド 説明
align="left"

align="right" float : left ;

float: right; CSS を使用して、画像、段落、div、タイトル、テーブル、リストなどの要素をフローティングします。

float 属性を使用する場合は、フローティング要素の幅を定義する必要があります。

marginwidth="0" leftmargin="0" marginheight="0" topmargin="0" margin: 0; CSS を使用すると、body 要素だけでなく任意の要素に margin を設定できることも重要です。要素の上下左右のマージン値を個別に指定します。

vlink="#333399" alink="#000000" link="#3333FF" a:リンク #3ff;

a:hover: #999; #00f;
HTMLでは、リンクの色は本文の属性値として定義されます。リンクのスタイルはページ全体で同じです。 CSS セレクターを使用すると、ページのさまざまな部分でリンク スタイルを変えることができます。

bgcolor="#FFFFFF" 背景色: #fff; CSS では、body 要素や table 要素だけでなく、任意の要素に対して背景色を定義できます。

bordercolor="#FFFFFF" border-color: #fff; 任意の要素に境界線 (境界線) を設定でき、それぞれ上、右、下、左を定義できます

border="3"

cellspacing="3" border-width: 3px; CSS を使用すると、テーブルの境界線を統一スタイルとして定義したり、上、右、下、左の境界線の色、サイズ、スタイルをそれぞれ定義したりできます。

これらのセレクターを使用できます

ボーダーレス効果を設定する必要がある場合は、CSS 定義を使用できます。


< ;br clear="right">


クリア: 右;
2 列または 3 列のレイアウトが使用されます。検索する float 属性。フローティングレイヤーで背景色または背景画像を定義する場合は、clear 属性を使用できます。CSS を使用すると、任意の要素 padding 属性も同様に、上、右、下、左にそれぞれ設定できます。パッドは透明です。

align="center" text-align: center;
margin-right: auto; margin-left: auto;
Text-align はテキストにのみ適用されます
div や p などのブロックレベルの不正は通過できます。 margin -right: auto; と margin-left: auto; を水平方向に中央揃えにする


ブラウザーの CSS サポートが不完全なため、いくつかのトリック (ハック) を実行するか、環境を確立する必要がある場合があります。回避策)、CSS が従来の方法と同じ効果を達成できるようにします。たとえば、ブロック レベルの要素では、水平方向のセンタリング手法やボックス モデルのバグ手法などを使用する必要がある場合があります。これらのテクニックはすべて、Molly Holzschlag の記事「Integrated Web Design: Strategies for Long-Term CSS Hack Management」で詳しく説明されています。

CSS ヒントに関するもう 1 つのリソース サイトは、Big John と Holly Bergevin による「Position is Everything」です。

フローティングの動作を理解する
Eric Meyer の「Containing Floats」は、レイアウトにフロート属性を使用する方法を習得するのに役立ちます。 Float 要素は場合によってはクリアする必要がある場合があります。「構造マークアップを使用せずに Float をクリアする方法」を読むと非常に役立ちます。

その他のヘルプ
既存の「CSS Discussion」リストは、CSS レイアウトの概要 (css-discuss.incutio.com/?page=CssLayouts)、CSS ヒントの概要 ( css-discuss.incutio.com/?page=CssHack) など

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? 公式アカウントのキャッシュの更新の難しさ:バージョンの更新後のユーザーエクスペリエンスに影響を与える古いキャッシュを回避する方法は? Mar 04, 2025 pm 12:32 PM

公式アカウントのWebページはキャッシュを更新します。これはシンプルでシンプルで、ポットを飲むのに十分な複雑です。あなたは公式のアカウントの記事を更新するために一生懸命働きましたが、ユーザーはまだ古いバージョンを開くことができますか?この記事では、この背後にあるtwist余曲折と、この問題を優雅に解決する方法を見てみましょう。それを読んだ後、さまざまなキャッシュの問題に簡単に対処でき、ユーザーが常に新鮮なコンテンツを体験できるようになります。最初に基本について話しましょう。それを率直に言うと、アクセス速度を向上させるために、ブラウザまたはサーバーはいくつかの静的リソース(写真、CSS、JSなど)やページコンテンツを保存します。次回アクセスするときは、もう一度ダウンロードすることなく、キャッシュから直接検索できます。自然に高速です。しかし、このことは両刃の剣でもあります。新しいバージョンはオンラインです、

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

WebページのPNG画像にストローク効果を効率的に追加する方法は? WebページのPNG画像にストローク効果を効率的に追加する方法は? Mar 04, 2025 pm 02:39 PM

この記事では、CSSを使用したWebページへの効率的なPNG境界追加を示しています。 CSSはJavaScriptやライブラリと比較して優れたパフォーマンスを提供し、微妙または顕著な効果のために境界幅、スタイル、色を調整する方法を詳述していると主張しています

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

See all articles