街中で見かけて「グッときた人」の思い出

教えてください。
コーダー初心者です。

タイトルどおりフッターで指定したクリアーが聞きません。
上ヘッダーで、左にナビ、右にコンテンツ
右コンテンツ内に右幅いっぱいの文章をその下に右コンテンツを二段組した文章をいれました。

フッターは現在右コンテンツ側によってしまい。
左ナビしたまできてくれません。

右コンテンツを幅一列で組んでいたのですが、二段組のレイアウトを追加指定したあたりから
フッターがおかしくなりました。

原因は何でしょうか?
教えてください。


下記はhtmlです。
<div id="wrapper"><!--全体囲み -->
<div id="head">ヘッド</div>
<div id="left">ナビ</div>
<div id="right">コンテンツ<!--右側 -->
<div id="section01">
<div class="section01" >
横一文章
</div>
<div class="section01" id="Benefits">
右文章
</div>
<div class="section01" id="Lose">
左文章
</div>
</div><!--右囲み終わり -->

<div id="footer"><!--フッター -->
</div><!--フッター終わり -->

</div><!--wrapper終わり -->
</body>
</html>

A 回答 (3件)

たとえばちょっと複雑・・でも、よくありそうなHTML/CSSを考えて見ます。


右がHTMLを文書構造にしたがってマークアップしたもの。左がスクリーン用に見栄えを整えたもの。(印刷には適さないので、印刷用スタイルシートは別途用意するか、CSSのmediaをscreenに限定する。)

HTMLは(画像もスタイルシートも読まない)テキストブラウザや読み上げブラウザ、そして検索エンジンを想定してきちんと文書構造にしたがってマークアップします。

そのうえでスタイルシートでは横幅の広い(広すぎる?)ディスプレイの特性を生かして、左のようにデザインしていく。

 floatを本文内で使用するとき・・結構多いと思う・・ので、他では使わないほうが無難です。
「footerのclear:bothが効き」の回答画像3
    • good
    • 0
この回答へのお礼

解りやすい回答ありあがとうございます。
一部レイアウトを訂正して解決できました。

お礼日時:2011/05/26 15:54

HTMLのマークアップでIDやCSS名に


id="wrapper",id="head",id="left",id="right,
id="section01",class="section01"なんて???不適切。先の回答でも書きましたが仕様書でも明確に
【引用】____________ここから
こういった使用法は避けるべきである。 文書作成者が定めたクラス名では、意味を理解してもらえない場合もある。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[セレクタ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2 … )]より

本題ですが、その文書の説明を聞く限りマークアップは
 <h1>見出し</h1>
 <div class="nav"></div>
 <p>・・・</p>
 <p>・・・</p>
 <div class="two_columns">
  <div class="column c1"></div><!-- class名の先頭は数字はだめ -->
  <div class="column c2"></div>
 </div>
<div class="footer"></div>
 だけでよさそう。CSSも
div.nav{float:left;width:20%;min-height:400px;}
div.two_columns{position:relative;}
div.two_columns div.column{width:40%;}
div.twocolumns div.c2{position:absolute;top:0;right:0;}
div.footer{clear:left;}
 だけでよい。
    • good
    • 0
この回答へのお礼

ありがとうございます。
もう一度組みなおしてみます。

独学なのですが、参考にした本がまずかったでしょうか?
基本はその本からなのですが、
どうしても、clear:bothの意味が飲み込みきれません。
(意味はわかるのですが)

お礼日時:2011/05/16 10:23

独学でWEBサイトを作成している者です。


HTML階層よりもむしろCSSと合わせて公開して頂けるとありがたいですが、
1.(X)HTMLはどのタイプをお使いですか?
2.DTD(DOCTYPE宣言)は、正しく、システム識別子まで書いていますか?
1,2について
(例)HTML4.01 Strict:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">*1←この行が識別子
(例)XHTML1.0 Strict:
<?xml version="1.0" encoding="UTF-8"?>*2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
*1:HTMLに於いてはシステム識別子は省力出来るが色々と不具合が有るので
正式の記述をして下さい。
*2:XHTMLに於いてXML宣言を省ける条件は、XMLで基本文字コードである
UTF-8もしくはUTF-16を用いた場合のみ省略可ですが、
使用する事推奨されています。
*3:XHTMLに於いてはシステム識別子を省略できませんのでしっかり記述して
下さい。
3.XHTMLに於いては<html>にxml名前空間を宣言する。(X)HTMLでは
言語宣言をする。
<html lang="ja">*4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">*5
*4:HTMLに於いてはこれです(日本語使用宣言)
*5:XHTMLでは、xmlns(xml name space:xml名前空間)とxml:langとlangを
併用する事を推奨されています。
4.CSSを使う場合は<head></head>内部の<title>の前で
<meta http-equiv="Content-type" content="UTF-8">*6
<meta http-equiv="Content-Style-Type" content="text/css">*7
*6:HTML、XHTMLどちらでも必要な文字コード宣言です。
(特にCSSとは無関係ですがXHTMLに於いてはXML宣言と合わせて必要です)
*7:これを宣言しないとCSS反映されませんので。
<link rel="StyleSheet" type="text/css" href="./***.css" media="all">*8
*8:これは外部スタイルシートを外部参照してHTMLに反映させるものです。
(XHTMLに於いては<head></head>内部での記述、タグへの直接のstyle=""記述は
非推奨ですので、外部参照しましょう)

基本事項はここまでです。まぁ普通に記述してある物として…
<div id="footer">でしっかりfloat解除してますか?
現在何をどうfloatしていて解除には何を使っているかが分かりません。
解除には
float: none;(このボックスをフロートしない)
clear: left or right or both;(leftのみ指定の場合はleft、rightのみ指定の場合はright
全解除(左右解除)はboth)ちなみにclear: none;は解除しないという命令
ちゃんとfooter要素にwidth: **;指定してますか?
width指定というのはしていないとfloat、clearの設定が出来ません。
恐らく解除も!?
どうでしょうか?とりあえず考えられる事は書いておきました。
どれにも当てはまらない場合はまた補足でも頂ければと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
以下CSSですが長文になりますので
省略しています。
全体をwrapperで囲み
head
ナビがleft
コンテンツがright
です。

コンテンツのright部分の.section01を
横一の文章のところを途中レイアウト変更のため
#Benefitsと#Loseに分けて
二段組にしようとしてから。
フッターが変になりました。

xhtmlの基本事項は手打ちせず。既存のコーディングを使用しています。
フッターの幅の指定しているのですが…
なにがおかしいのでしょうか?
引き続きご教授いただけるとたすかります。

以下CSS-----------------------------------------------------
body { }
#wrapper { }
#head { }
#right { }
.section01 { }

#Benefits{
float:left;
width:273px
}
#Lose{
float:right;
width:273px
}
.section02 {
}

#left {
}
#footer {
clear: both;
width: 800px;
background-color: #000066;
padding:1px;
}
#footer p {
font-family: "MS Pゴシック", Osaka, "ヒラギノ角ゴ Pro W3";
font-size: 1em;
font-weight: bold;
color: #FFFFFF;
text-align: center;
}

お礼日時:2011/05/16 09:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!