
cssにて現在サイトを構成しています。
そこでお詳しい方がいらっしゃいましたらアドバイスを頂けたらと思います。
回り込みの指定解除なのですが、現在cssでbothの指定を行っています。名前はclearとします。
そこで、<br>に対してclass指定で、<br class="clear" />と記述するのですが、何か旨く解除し切れません・・・。
これをブロックレベルで、<p class="clear"></p>とすると旨く解除が出来ます。・・・でも空タグが出来るのでどうなのでしょうか???
ですが、時々<br class="clear" />でも、きちんと解除できるものもありますので、何か違いをつけて、インラインとブロックで解除を分けなければいけないのかな?と思いご質問させていただきました。
すみませんが、解除の仕方をアドバイス願います。
あと、これは余談な質問ですが、imgに対してマージンなどの指定を行ってもfirefox1.5で隙間が反映されません。
<img・・・・・ class="10px">(左右に10pxマージンを指定した場合)これはfirefoxのバグか何かでしょうか?はたまた私の定義に問題アリでしょうか?
どうぞ、宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
CSS1(CSSバージョン1)では<br>にもclearを使えますが、
CSS2では、clearはブロック要素に指定しなければなりません。
<br>に対してclear:both等を指定するのは、HTML3.2からの<br clear="all">などに関係していると思いますが、CSS2では間違った使い方です。
XHTMLではCSS2になる(またはブラウザ依存?)と思うので、<br>に対してclearは使えません。
その下にブロック要素を書いているはずですから、そこにclass="clear"を指定して下さい。
わざわざclearするためだけのタグを書く必要はありません。
たとえば
<p><img src="" style="float:left" />1行目<br />2行目<br style="clear:both;" />3行目</p>
<p>段落</p>
3行目の前でclear:leftしたいと思っても、CSS2では、そういうデザインは禁止のようです。
以下のように強引に段落を分けることで対応出来ます。
(ただし、論理構造が崩れます。
その方が問題ありでしょうけど、HTMLチェッカーやCSSチェッカーで減点はされません(´・ω・`)
何か別の対処方法があれば、教えて下さい>識者の方
デザインを優先するなら、私は一部のHTMLチェッカーに減点されてでも(XHTMLではなく)HTMLを使って<br clear="all">を使うか、<br>にスタイルを当てる方をおすすめします。)
<p><img src="" style="float:left" />1行目<br />2行目</p>
<p style="clear:both;">3行目</p>
<p>段落</p>
> <img・・・・・ class="10px">(左右に10pxマージンを指定した場合)これはfirefoxのバグか何かでしょうか?はたまた私の定義に問題アリでしょうか?
記述に問題ありです。
詳細はANo.1をご参考に。。。
talooさん有難う御座います。
>CSS2では、clearはブロック要素に指定しなければなりません。
そうなのですね、初めて知りました・・・。
>3行目の前でclear:leftしたいと思っても、CSS2では、そういうデザインは禁止のようです。
むむむ・・、この様な定義が禁止となると、根本的に厳格な構造の定義が必要ですね・・・。
大変勉強になります。

No.3
- 回答日時:
あまりお勧めしないのですが、clearするためだけのdivタグを作って、
-----------------------
div.hidari{
float:left;
}
div.migi{
float:right;
}
div.kaijo{
clear:both;
}
-----------------------
<div class="kaijo">
<div class="hidari">
文書左
</div>
<div class="migi">
文書右
</div>
</div>
-----------------------
のようにすることが出来たと思います(多分)。
ただ、確かこれはあまりほめられた方法ではなかったような気がします。参考URLも一応書いておきます。
参考URL:http://www.2step-css.com/
No.1
- 回答日時:
とりあえず、IDやclassの名称で数字からはじめるのは
やめましょう。
10px→px10とかでかまわないので。
もしclassの使い方を間違えていて、
clearというclassもstyleや外部ファイルで
きちんと宣言されていないのでは?
関係箇所だけでも具体的にどのようになさっているか
例示すると適切な指摘がつくかもしれません
有難う御座います。
class名は数字ではありません。
css部分は以下になります。
.clear {
clear: both;
}
この様に単体でクリアを用いること自体が問題なのでしょうか・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML要素のid/class名の長さに...
-
個別にリンクの色を変える方法
-
CSS内で使われる山括弧の意味が...
-
idの中のid指定
-
cssでハイパーリンクの線を...
-
クリッカブルマップにツールチ...
-
リンク文字の 一部だけ色を変...
-
[HTML] selectの線を非表示に...
-
htmlの文字が縦書きになる
-
含む含まないという概念自体の...
-
複数のボタンを等間隔に、かつ...
-
ulタグやliタグの中でbrタグ...
-
リストマーカーをボックス内に...
-
ドロップダウンメニューが隠れ...
-
htmlのolやulなどlistにtitleや...
-
<li>タグの数が増えすぎたので...
-
ボタンをセル内一杯に表示させ...
-
cnt <= (others => '0'); の意...
-
html/cssの、navを2段にする...
-
画面を縮小するとカラムが落ち...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlのid属性って必要なの?
-
個別にリンクの色を変える方法
-
idの中のid指定
-
liリストタグの背景色に色がつ...
-
サイトにjQueryが使用されてい...
-
HTML要素のid/class名の長さに...
-
CSSのクラス名・ID名の指定でワ...
-
a要素の色を複数使い分ける方法
-
FC2掲示板をトピック一覧表示型...
-
スタイルシートについて
-
CSSに同じclass名がいっぱい‥。...
-
brにクラスをつけてcssでdispla...
-
webデザイン 疑問点
-
CSS 記事内link色変更方法
-
親エレメントに含まれる子エレ...
-
cssでIEとFIREFOX(とchrome)の...
-
CSS内で使われる山括弧の意味が...
-
css:positionの挙動について
-
スタイルシートのドットが#に...
-
dreamweaverのコード画面で波線。
おすすめ情報