
こんばんは。CSS初心者のMxanaduと申します。
以下のようなCSSを使ったHTMLソースを記述しています。しかし、ウェブブラウザ(iCab 3.0 Beta 340, Safari 1.3 (v312), IE 5.2.3 (5815.1), Firefox 1.0.6 日本語版--いずれもMac OS X版)で表示させると、<IMG>タグ内にHSPACEとVSPACEを記述しても画像の間に間隔が空きません。CSSを使うとHSPACEとVSPACEは無視されるのでしょうか?
もしCSSを使うとHSPACEとVSPACEが無視されるならば、代替え手段を教えて戴けないでしょうか?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET=SHIFT_JIS">
<META HTTP-EQUIV="CONTENT-STYLE-TYPE" CONTENT="TEXT/CSS; CHARSET=SHIFT_JIS">
<TITLE>ページタイトル</TITLE>
<STYLE TYPE="TEXT/CSS">
<!--
* { MARGIN: 0%; PADDING: 0%; FONT-STYLE: NORMAL; FONT-WEIGHT: NORMAL; }
P.MAIN { MARGIN: 3% 6% 3%; LINE-HEIGHT: 150%; }
DIV { MARGIN: 1%; LINE-HEIGHT: 100%; }
-->
</STYLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#005048" ALINK="#CDF400" VLINK="#996600">
<P CLASS="MAIN">メッセージ本文</P>
<HR SIZE=1>
<DIV ALIGN="RIGHT"><A HREF="ハイパーリンク"><IMG SRC="images/banner.gif" ALT="バナー説明" WIDTH="88" HEIGHT="31" BORDER="0" HSPACE="10" VSPACE="5"></A><A HREF="ハイパーリンク"><IMG SRC="images/banner.png" ALT="バナー説明" WIDTH="88" HEIGHT="31" BORDER="0" HSPACE="10" VSPACE="5"></A></DIV>
</BODY>
</HTML>
以上、よろしくお願い致します。<(_ _)>
No.2ベストアンサー
- 回答日時:
>CSSを使うと
>HSPACEとVSPACEは無視されるのでしょうか?
まずは、HSPACEとVSPACEはどの様な機能でしょうか?
縦,横の違いはありますが余白(マージン)の指定ですよね。
そしてスタイルの指定ですが全称セレクタでマージンの指定があります。
という事はIMG要素に於いてHSPACE属性,VSPACE属性によるマージンの指定と全称セレクタによるマージンの指定があります。さてどちらが採用されるのでしょう。
まずHSPACE属性,VSPACE属性の重みはいくつかというと「0(ゼロ)」です。そして,変換された規則は文書制作者のスタイルシートの先頭にあるものとみなし,競合する後続の規則はそれよりも優先することになるそうです。
そしてSTYLE要素で記述されている全称セレクタの重みも「0(ゼロ)」です。
しかし全称セレクタでの記述の方が後の記述とみなされますので、こちらが優先されます。
尚、注意する点は これは提示されている規則であり
ブラウザがその様に振る舞ってくれるかは別で・・・。
(WinのIE6.0はHSPACEとVSPACEの値が採用されていたりしますし・・・。)
>代替え手段を教えて戴けないでしょうか?
もっと重みのある指定方法を採用するか、全称セレクタによる指定をやめて個々に指定するかです。
>* { MARGIN: 0%; PADDING: 0%; FONT-STYLE: NORMAL; FONT-WEIGHT: NORMAL; }
これを
BODY, P, HR, DIV, A { MARGIN: 0%; PADDING: 0%; FONT-STYLE: NORMAL; FONT-WEIGHT: NORMAL; }
と、IMGを除いて全て列挙するという方法で書き換えるとか・・・。
もしくは、
IMG { MARGIN: 5px 10px; }
(特定したい場合は、ID なり class なりを付加)
でHSPACE属性,VSPACE属性の指定をスタイルシートで行う様に変更する。
そもそも、CSSを用いながらもHTMLでデザインに関わる記述をしているのが中途半端で
今回の様な状況になっていると思います。
尚、私の方での動作確認(質問で提示の内容)は WindowsXP SP2 による
IE6.0 Slepnir2.0 でHSPACE属性,VSPACE属性の値が常に有効であり、
Firefox1.0.6 Mozilla1.7.5 Opera8.01 ではHSPACE属性,VSPACE属性の値は採用されず全称セレクタのマージンの値が採用されました。
参考URL:http://hp.vector.co.jp/authors/VA022006/css/casc …
koutarou504さま、初めまして。
> しかし全称セレクタでの記述の方が後の記述とみなされますので、こちらが優先されます。
その通りでした。全称セレクタでの記述を外したら、HSPACE、VSPACEともに有効になりました。
全称セレクタは、自分のHPの他の部分でのウェブブラウザ間の差を消すために記述しました。それがHSPACE、VSPACEにも影響するとは知らずに使っていました…。(^^ゞ
> HSPACE属性,VSPACE属性の指定をスタイルシートで行う様に変更する。
全称セレクタの記述を残したまま、この方法でうまく行きました。ありがとうございました。
> そもそも、CSSを用いながらもHTMLでデザインに関わる記述をしているのが中途半端で
> 今回の様な状況になっていると思います。
おっしゃる通りです。
このような中途半端な記述をしている理由は、WDG(ウェブデザイングループ)が主張する「アクセシビリティ」を自分なりに解釈した結果です。
WDGは「ウェブページを見る側が独自のCSSを使う場合とか、CSSを使用しない場合、あるいはCSSをサポートしないウェブブラウザで見た場合に配慮すべきだ」と言っています。
そのためCSSを無効にされても、ある程度自分の意図どおりの表示ができるように、HTML内にデザイン要素を組み込んでいます。
しかしながら、本当はどうすべきなのか迷っているというのが私の本音です。
ご回答ありがとうございました。
No.1
- 回答日時:
>CSSを使うとHSPACEとVSPACEは無視されるのでしょうか?
スタイルの指定は、後から読み込まれたものが優先されます。
ですので「属性」で指定された「HSPACE="10" VSPACE="5"」が優先されます。
http://www.kanzaki.com/docs/html/htminfo17.html
kwgmさま、初めまして。
> ですので「属性」で指定された「HSPACE="10" VSPACE="5"」が優先されます。
参照URLの「カスケーディングと継承」の項も読みました。ですが、残念ながら、ご指摘の通りにはならず、Mac OS Xの代表的なブラウザでHSPACEとVSPACEが無視されているのです。
よく分かりもしないでCSSを使っている罰があたったのかも…です。(^^ゞ
ご回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
a要素の色を複数使い分ける方法
-
FC2掲示板をトピック一覧表示型...
-
個別にリンクの色を変える方法
-
liリストタグの背景色に色がつ...
-
スタイルシート/idの入れ子でid?
-
マウスカーソルを当てた時だけ...
-
CSSでひとつだけdisplay:none;...
-
リンクの文字の色の反転につい...
-
文字の両側に画像を配置するCSS...
-
brにクラスをつけてcssでdispla...
-
CSSを使ったスライドパネルのカ...
-
リンク文字の 一部だけ色を変...
-
CSSのクラス名・ID名の指定でワ...
-
外部スタイルシートで定義した...
-
htmlの文字が縦書きになる
-
htmlのolやulなどlistにtitleや...
-
含む含まないという概念自体の...
-
CSSのデクレッシェンド(>)と...
-
【CSS】ヘッダーの高さが不明の...
-
<form <input type="text"の枠...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
個別にリンクの色を変える方法
-
idの中のid指定
-
サイトにjQueryが使用されてい...
-
liリストタグの背景色に色がつ...
-
brにクラスをつけてcssでdispla...
-
HTML要素のid/class名の長さに...
-
inputタグのテキストBOXだけ右...
-
リンク文字の 一部だけ色を変...
-
CSSのクラス名・ID名の指定でワ...
-
特定の見出しのみ前後の空白を...
-
同ページ内でリンクの色を変え...
-
スタイルシートで、id属性の中...
-
[HTML] selectの線を非表示に...
-
CSSの適用を一部だけ除外したい。
-
HP作成(ワッパーを中心に)
-
<span>で2重にかけているものを...
-
オンマウス時の背景色を個別に...
-
Bootstrap 訪問済みテキストリ...
-
最近、HTMLのヘッダーをIDで定...
-
子孫セレクタの読み方をおしえ...
おすすめ情報