すみません。お手上げ状態です。教えてください。
サイトを 新たにしようと思い テンプレートをダウンロードし 変更を加えながら作成、変更途中でつまずきました。
htmlで横並びのリストを一つ二つ削除したら 左よりになりました。
<!-- トップナビゲーション -->
<ul id="topnav">
<li class="active"><a href="http://www.***.com">バババ<br><span>Ba(Top)</span></a></li>
<li><a href="http://***.com/index.html"><strong>あああ</strong><br><span>CCC<p>ししし</p></span></a></li>
<li class="active"><a href="http://www.###.com/company.html"><strong>会社</strong><br><span> Office </span></a></li>
</ul>
</ul>
<!-- トップナビゲーション -->
となってます。(これも間違ってたらすみません。)
色々検索し 下記記述があったので いざ 試そうとしましたが
ulをtext-align: center;
と指定してulの中のインライン要素を中央寄せ。。。
liをdisplay: inline-block;と指定して...横並びのリストが中央寄せになり...
どこにどのように記述すればよいのか わかりません。
初心者で申し訳ありませんが バナーの 横並びのリストを 真中に持ってきたいです。
どのようにHTMLを記述すればよいのでしょうか?
わかりやすいように教えてください。 初心者で恐縮ですがよろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
まだ初心者の方のようですから少し詳しく説明すると
>どのようにHTMLを記述すればよいのでしょうか?
そうではありません。HTML5の勧告で今後は益々このあたりは厳しくなりますから、最初に間違って覚えると直すのが大変です。
実は今から15年前のHTML4.01の勧告(それ自体、この部分の注意換気が目的でした)
すなわち、『構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』と言われる部分です。
具体的にはナビゲーションのリストは、その文書構造に基づいてリストとしてマークアップしなさい。ということです。classやidは、HTMLの要素(タグだけでは文書構造が分からないときに)を保管するものです。
--div要素の「id属性及び class属性と併用することで、文書に構造を付加する( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」
※a要素内に<p>要素は入れられません。←原因はコレ
ブロック要素なので、誤ったHTMLとしてここが補完される。
<ul>
<li><a>バババ<br><span>Ba(Top)</span></a></li>
<li><a><strong>あああ</strong><br><span>CCC<p>ししし</p></span></a></li>
<li><a><strong>会社</strong><br><span> Office </span></a></li>
</ul>
ブラウザで補完すると
<ul>
<li><a>バババ<br><span>Ba(Top)</span></a></li>
<li><a><strong>あああ</strong><br><span>CCC</span></a>
<!-- ここから -->
</li>
</ul>
<p><a><span>ししし</span></a></p><span></span></a>
<!-- ここまで -->
</li>
<ul>
<li><a><strong>会社</strong><br><span> Office </span></a></li>
</ul>
となるのですよ。CSSの検証ページに
『メモ: CSSスタイルシートを意図した通りに機能させるには、正しい文書解析木が必要です。つまり、正当なHTMLを用いるべきです。( http://jigsaw.w3.org/css-validator/#validate_by_ … )』
と書いてある。
[例]ぶんしょこう象しか書かないのでとっても簡単
<div class="header">
<ul id="nav">
<li>
<a href="http://www.***.com"><abbr title="Hyper Text Markup Language">HTML</abbr></a>
</li>
<li>
<a href="http://***.com/index.html"><abbr title="Cascading Style Sheet">CSS</abbr></a>
</li>
<li>
<a href="http://www.###.com/company.html"><abbr title="Javascript">JS</abbr></a>
</li>
</ul>
説明
1) headerブロック内にあるので、このナビゲーションはTopnavだと分かる
2) <br>は基本使いません。<span>はclassと併用して文書構造をしめします。 ここはメインの文字の補足だとして<abbr>を使っています。
3) ひたすらシンプルに゛焚書構造だけをHTMLでマークアップします。
[スタイルシート]この文書構造に基づいて記述しますから分かりやすい。
ul#nav{
width:80%;
margin:0.5em auto; /*このブロックを中央に配置 */
text-align:center;
padding:0;
list-style-type:none;
line-height:2em;/* 一行の高さ */
}
ul#nav li{
display:inline-block;
width:25%;
position:relative;/* 以下の位置やサイズの基準にするため */
}
ul#nav li a{
display:block;/* スマホやタブレットで扱いやすいようブロック */
width:100%;height:100%;/* サイズはliに合わせる */
text-decoration:none;/* 下線は消す */
background-color:yellow;
}
ul#nav li a:before{
content:attr(title);
position:absolute;
top:2em;left:0;
}
ul#nav li a:hover{
background-color:orange;
}
ul#nav li a[href="http://***.com/index.html"]{
font-weight:bold;
}
1) display:inline-block;にしても、<p>というブロック要素が残ると・・
ul#nav li{display:inline;}とすればそれは防げるが、今度は改行されない(^^)
単純にマークアップしておけば、どんなにもデザインでき、デザインの幅が広がります。最初からデザインを目的にHTMLを書いたらダメなのですよ。下記ページをIEやfirefoxのような代替スタイルシートを利用できるブラウザで訪問して、[表示]→[スタイル]と進み、色々なスタイルを選択して見たり、印刷プレビューで印刷を確認して御覧なさい。
ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HT … )
HTMLは、まったく文書構造しか書かれていないのでメンテナンスが楽なのが分かると思います。そんな簡単なHTMLだから、スタイルは自在に変更できる。
作成方法
1) 文書構造だけをHTMLで正確にマークアップする。
2) Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html )のDATA入力などでHTMLが正しいかチェックする。
3) 文書構造に基づいてスタイルシートを書く
★色々検索し 下記記述があったので いざ 試そうとしましたが
ulをtext-align: center;
これは間違いです。以前の古いIEはバグでそうでしたが、標準では、margin-left:auto;margin-right:auto;で中央に寄せます。IEはコレができなかった。
いずれにしても最初にする事は
1) 文書構造だけをHTMLで正確にマークアップする。
仕様書( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )をまず眼を通して、何がどこに書かれているかくらいは理解して置くこと。
最も正確で正しい情報です。ウェブや書籍では嘘のほうが多い。なぜな、仕様書を読めば正確に書かれている事を、わざわざ書くのは仕様書の存在を知らないからです。もしくは理解できてない。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストマーカーをボックス内に...
-
html/cssの、navを2段にする...
-
htmlの<ol>タグで、数字などを...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
<ul><li></li></ul>にするメリ...
-
<ul>~</ul>が二つ続くと間に改...
-
CSSでの<ul><li>を使った改行設定
-
リストの数字のフォントサイズ...
-
ローカルナビゲーションのマー...
-
float:leftで<li>要素を横並び...
-
html css マークアップについて
-
<table>の高さ固定。情報増加時...
-
ドロップダウンメニューが隠れ...
-
HTML5のfooterに見出しを付けて...
-
URLにアクセスした際に指定した...
-
divタグ内のコンテンツが重なっ...
-
テーブル内のプルダウンの下に...
-
文法チェックの<A>と</A>の間が...
-
円形の配置にするコーディング...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
html/cssの、navを2段にする...
-
リストマーカーをボックス内に...
-
リストの数字のフォントサイズ...
-
<ul><li></li></ul>にするメリ...
-
ulタグやliタグの中でbrタグ...
-
レスポンシブWebデザインでリン...
-
<ul>~</ul>が二つ続くと間に改...
-
HTML5のfooterに見出しを付けて...
-
htmlの<ol>タグで、数字などを...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
HTMLで組織図を作成する方法
-
複数行にまたがる括弧を表示し...
-
liタグの中に<p>タグやら<dl>を...
-
display:table;を多段表示させたい
-
divタグ内のコンテンツが重なっ...
-
<table>の高さ固定。情報増加時...
-
html <ul></ul>の並びで一行空...
-
テーブル内のプルダウンの下に...
-
【至急】ul li 行間調整ができ...
おすすめ情報