No.8ベストアンサー
- 回答日時:
一つの参考。
IE6、Firefoxにて動作確認済み。
span.clrはそうしなければ IE6で余分なスペースが付加されるため。
--------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-style-type" content="text/css" />
<title>画像表示</title>
<style type="text/css">
<!--
* {margin: 0;padding: 0;}
.clr:after{
content: " ";
display: block;
visibility: hidden;
clear: both;
height: 0.1px;
font-size: 0.1em;
line-height: 0;
}
.clr { display: inline-block; }
/* no ie mac \*/
* html .clr{ height: 1%; }
.clr{ display: block; }
/* */
body {
text-align: center;
}
ul.imgbox {
margin: 0 auto;
width: 180px;
list-style: none;
display: block;
}
ul.imgbox li {
width: 60px;
height: 60px;
display: block;
float: left;
}
-->
</style>
</head>
<body>
<ul class="imgbox clr">
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
<li><span class="clr"><img src="01.jpg" alt="" width="60" height="60" /></span></li>
</ul>
</body>
</html>
こんばんは。
リストタグだけでこんなことができるなんて初めて知りました。
まったく無駄がないですね・・
それに比べたら僕の書いた物は贅肉だらけに見えます。
すごいスマートなタグでここまでできるとは・・ 勉強になりました。
ありがとうございます。
No.7
- 回答日時:
下記ソースですが、IEとfirefoxで描写のされ方の違いを見てみてください。
手持ちのIEが6なら#head .jpg1のmarginの取られ方が違うと思います。
floatとmarginを指定した場合IEではバグが出るので、display:inline;を指定すると良いです。
さらに#headにbackground:#f00;を追加して、もう一度IEとfirefoxで表示を確認してください。
表示が違うと思うので、clearfixで検索を。
HTMLですが、同じような画像が複数枚並んでいるということは、リストタグでマークアップするのが妥当と言えます。
HTMLは、タグでそれぞれの役割を明確にするための規格のようなものなので、divは使いやすいのですがより適切な意味を持ったタグで記述するとよりしっかりとしたHTMLになります。
ulとliタグを調べてみてください。
チェックにはこれを使うといいですよ。
http://htmllint.itc.keio.ac.jp/htmllint/htmllint …
No.6
- 回答日時:
ちょっと長くなりますが、本を読むのが面倒でない貴方なら理解できるでしょう。
≫CSSの構造が理解できません。
この場合の構造は、CSSは、「0個以上の声明(statements)から構成され、声明には@規則と規則集合の2種類がある。・・・・・」のことです。
一方、HTMLの構造は、「文書構造」のことで、タグで示された要素で構成されている。・・・というほう。
ですから、「CSSの構造が理解できません。」と次の質問「収まるように全体をセンタリングしたいのですが」とは結びつかない。
「CSSの構造が理解できません」に続いて、「セレクタの書き方が分からない」とかの質問が続くものかと・・
「HTMLの構造が分からない」なら、「風景を撮影した写真を、説明文と共に並べたいがどのようにマークアップしたらよいか」という質問に・・
ですので、「収まるように全体をセンタリングしたい」という質問の趣旨からは外れていることを承知の上で、HTMLの理念から、すなわち「あらゆる利用者に利用できること」からすると、「このようにデザインしたい」は、「違うよ」と説明しました。
色々な参考書も良いですが、必ず読まなければならないのは
HTML 4.01 Specification (ja)
http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 …
Cascading Style Sheets, Level 2
http://www.y-adagio.com/public/standards/tr_css2 …
XHTMLについては、HTML4.01をXMLに合わせて定義しなおしたものなので、HTML4.01の仕様書を読む方が分かりやすいでしょう。
特にHTML4.01の仕様書は、隅々まで読んでおくべきです。理解できなくても必要なときどこに書いてあったか見つけ出せるようにはなっておいたほうが良い。
ネット上だけでなく、書籍でも本当に仕様書を理解しているのだろうかというものがたくさんあります。何が正しいかと迷ったときは仕様書を確認する事が出来るように!!
そのあたりは、
はじめてのWebドキュメントづくり
http://www.asahi-net.or.jp/%7Esd5a-ucd/www/
あたりから始められると理解できるでしょう。
写真を展覧したいという場合でも、それをどのようにマークアップするかは、著者であるあなたでないとできないことなのです。
たとえば、写真と説明を定義リストでマークアップして、ディスプレイ上は写真だけを(ディスプレイの幅に合わせて)並べて、ポインタを重ねると説明が表示されるようにデザインする事は可能なのです。しかも、携帯端末で表示すると、画像が縦一列に、印刷時には、それなりに・・・というふうに、それが、HTMLの目的に合致した構造化の方法であり、CSSの書き方なのです。
この回答への補足
専門家のアドバイスはうれしいです^^
cssとhtmlの文書構造自体は読んで見ました。
やはり奥が深いですねぇ。というか初心者のわたしには難しすぎて、概念を理解するまで相当時間がかかりそうです。(汗)
一応質問にある「縦横60pxが9枚あります。
この写真を横3枚縦3枚(3行3列)で綺麗にHP内の中心に収まるように全体をセンタリングしたいのですが」の件ですが、なんとかやってみました。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題ドキュメント</title>
<style type="text/css">
<!--
#head {
width: 500px;
margin-right: auto;
margin-left: auto;
}
#head .jpg1 {
height: 60px;
width: 60px;
float: left;
margin-left: 160px;
}
#head .jpg2 {
float: left;
height: 60px;
width: 60px;
}
#head .jpg3 {
float: left;
height: 60px;
width: 60px;
}
-->
</style>
</head>
<body>
<div id="head">
<div class="jpg1">
<img src="1.jpg" width="60" height="60" /></div>
<div class="jpg2">
<img src="2.jpg" width="60" height="60" /></div>
<div class="jpg3">
<img src="3.jpg" width="60" height="60" /></div>
</div>
</div>
</body>
</html>
専門家様から見て、この書き方はどうでしょうか?
お暇なときにでもコメントを頂けると幸いです。
No.5
- 回答日時:
根拠ですか?
立派な向学心ですね、すごいです。感服しました。
cssに構造は無いと断言できる根拠ですね。
では、端的に言うと、「仕様書よめ」となります。
「わたしもw3c肯定派ですので……」と書かれて居られるので、当然読まれているとは思うのですが、理解が難しいですか?
構造はhtmlで……の部分抜き出されているページと解説つきの場所を紹介しますね。
http://hp.vector.co.jp/authors/VA022006/css/intr …
緑枠が仕様書の「和訳」です。
ネット上には嘘の情報も溢れ返っています。この情報も嘘かもしれませんね。本当に勉強したいなら勉強の仕方を間違えておられるように思います。わかっていない人もcssサイトを開いておられますから。検索に引っかかる物の真贋を見分ける必要がありますね。少し前の本も同じでしたので、あまりたちよくない本にあたられたのかも知れませんね。1冊だけをまず、されてみてはいかがですか?7冊も同時にやれば、そりゃぁ、混乱するでしょう。
こんな問題を追及してもcssを学びたいなら益にはなりませんよ。本気なら、先にも述べましたが、基本から、端折らずに構造と見た目の分離に触れている初学者向きのサイト1つを一通り通し、cssとhtmlの関係など基本知識を身に付けることをお奨めします。
では、さようなら
この回答への補足
DrFellさん
ご親切にありがとうございます。
いま一読しましたが・・・
引用>>「CSSとは,構造化文書で明示された意味や構造などの概念を様式化し,具体表現としてユーザに提示する仕組です。」
これを読む限りcssは構造であるという概念をもてますよね?
どうなってるんですか??
No.4
- 回答日時:
そうですね。
あたりまえですね。cssに構造なんてありませんから。構造はhtmlの役割です。その構造にcssでデザイン(スタイル)をつけ、見栄えを調整するのです。
三かける三にどういうタグをつけるかは、その意味によって違ってきます。中身が何であるかのタグをつけ、そのデザインをcssで三かける三に見えるように調整してください。
タグやcssのプロパティだけ真似しても決して、css+xhtmlにはならないと思います。考え方をリセットする必要がありそうですね。
構造と見た目の分離から解説しているサイトで勉強されることをお奨めします。
この回答への補足
それにしても変だなぁ・・・
「cssの構造」で検索するとこんなにHITしました。
cssに構造は無いと断言できる根拠はどの辺にあるのか、もしよろしければ教えていただけますか?
http://search.yahoo.co.jp/search?p=css%E3%81%AE% …
No.3
- 回答日時:
写真の配置のためにtableタグを使わないほうが良いのは、ディスプレイが小さいと横にスクロールを強(し)いるからなのです。
そもそも、
≫この写真を横3枚縦3枚(3行3列)で綺麗にHP内の中心に収まるように全体をセンタリングしたい
が、HTMLの基本から外れているから、
【CSSでデザインしなさい】といわれるのですよ。
その根本を理解しないから、『写真を横3枚縦3枚』となるのでしょう。大きなディスプレイだと4枚、携帯のような小さなディスプレイだと縦に一列並ぶようにデザインしましょうということです。
写真を配置したい要素<div>を左右のマージンを取ってrelativeかabsoluteで配置して、その内部にfloatで写真を並べましょう。
≫最近cssをはじめたのですが、いまいち構造が理解できません。
頑張ってください。・・・まず、なんでCSSなのかからね。
14.1 スタイルシートの概説( http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 … )より引用______
* メーカー独自拡張のHTMLを使う。
* テキストを画像に置き換えて表現する。
* 余白制御のために画像を用いる。
* ページレイアウトの目的で表を用いる。********CSSでやっても同じだよ!!
* HTMLでページを作らずにプログラムに頼る。
こうしたテクニックによって、Webページはより複雑化し、限られた環境にしか適応しなくなり、相互運用性問題に悩まされることとなり、障害を持つ人々にアクセス障壁が設けられてしまう。
なるほど。cssの定義からはじめなければいけないようですね。
わたしもw3c肯定派ですので、表以外の目的でtableは使用したくありませんし、とにかくcssでがんばってみようと思いまして、専門書も7冊買ってきました。
しかし頭が悪くて思うようにできません・・・
イメージとしては大体把握できました。
アドバイスに従ってがんばってみたいと思います。
ありがとうございました。
No.1
- 回答日時:
ソースを載せてるのは約束でできないから概念だけ
表ではないからtableを使えないって考えなら
float:left
を使ってdivを並べ 中に画像
幅を指定した全体のdivを用意してその中に↑の並べたdivを内包させる
その全体divをセンタリングする。
http://www.google.com/search?lr=lang_ja&q=css%20 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
- 画像編集・動画編集・音楽編集 A1サイズで画像作成(300枚以上の写真を並べたいです) 1 2023/08/03 12:18
- 占い タロットカードを浄化していたら、引くように言われたので引いたのですが… 1 2022/09/02 06:32
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- 数学 情報処理詳しい人!! A4縦のレポート文書に4:3の大きさの横向きの写真画像を貼り付けることにした。 2 2022/12/18 02:30
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- HTML・CSS imgとpを縦・横に中央揃えする 1 2023/01/17 11:30
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- その他(プログラミング・Web制作) webデザインです。 プログラミンでの質問なのですが 手動でpc画面を下にスクロールするとスクロール 1 2022/10/10 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
html/cssの、navを2段にする...
-
display:table;を多段表示させたい
-
liタグの中に<p>タグやら<dl>を...
-
htmlの<ol>タグで、数字などを...
-
リストマーカーをボックス内に...
-
リストを2つに分割して、それぞ...
-
HTMLのdlとul どちらが正しいと...
-
画像にリンクを張ると画像がず...
-
CSS li float 2列組み
-
リンク文字同士の間隔を開ける...
-
CSSのデクレッシェンド(>)と...
-
li 3列表示
-
背景色を行ごとに変えるには?
-
list-style-type部分だけ大きく...
-
カルーセルスライダー「slick.j...
-
ulタグやliタグの中でbrタグ...
-
divタグ内のコンテンツが重なっ...
-
<ul><li></li></ul>にするメリ...
-
Listの中に<br>を入れてはダメ...
-
ulとliで囲った文字の一部を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストの数字のフォントサイズ...
-
リストマーカーをボックス内に...
-
html/cssの、navを2段にする...
-
ulタグやliタグの中でbrタグ...
-
liタグの中に<p>タグやら<dl>を...
-
HTML5のfooterに見出しを付けて...
-
HTMLで組織図を作成する方法
-
htmlの<ol>タグで、数字などを...
-
divタグ内のコンテンツが重なっ...
-
<ul>~</ul>が二つ続くと間に改...
-
html <ul></ul>の並びで一行空...
-
display:table;を多段表示させたい
-
<table>の高さ固定。情報増加時...
-
タイトルの横にサブタイトルが並ぶ
-
ulとliで囲った文字の一部を変...
-
レスポンシブWebデザインでリン...
-
画像にリンクを張ると画像がず...
-
ドロップダウンの残像
-
【CSS】メニュー上部に固定させ...
-
リンク文字同士の間隔を開ける...
おすすめ情報