• ベストアンサー

CSSに関するいくつかの質問

aegillsの回答

  • ベストアンサー
  • aegills
  • ベストアンサー率70% (7/10)
回答No.5

1.について ファイルの肥大化を防ぐ意味では、細かい指定をインラインで書くのもありです。が、ブロードバンドが普及してますのですべて外部CSSで指定したほうがメンテナンスしやすいかと思います。 2.について マークアップはxhtml、デザインはCSSで指定するのが理想です。古いブラウザへの対応は、別途ページを用意した方がサイトの寿命は伸びます。 3.について 余計なタグを入れない方が正しいマークアップになります。clear専用のclassを作成し、floatを解除する要素に指定しましょう。 [例] (style.css) .float_left{ float:left; } .clear_left{ clear:left; } (index.html) <img class="float_left" /> <p class="float_left">text</p> <img class="clear_left float_left" /> <p class="float_left">text</p> <img class="clear_left float_left" /> <p class="float_left">text</p>

django13
質問者

お礼

たしかに仕様改正の多いこの分野では外部化して一まとめに修正できたほうが都合がよさそうですね。 floatひとつとっても結構本によって書き方が多くて困りますが、こちらも綺麗ですね。

関連するQ&A

  • CSSでの回り込みの解除について

    1つのブロック要素の中でPタグで写真を配置してfloatで回り込ませ、任意のPタグで解除させたい場合、<div class="clear"><hr /></div>と該当のPタグで<p class="clear">するのはどちらがよいのでしょうか? clearについてのCSS .clear { clear:both; } .clear hr { display:none; }

    • ベストアンサー
    • HTML
  • CSSレイアウトの中にテーブルのような使い方でCSSを入れ子にする方法で質問です。

    テーブルを一切つかわないでサイトを作成したいと思っていて、 現在CSSで2カラムのレイアウトをしています。 困っているのが、 ページの下部に”前のページ HOME 後ろのページ” という風に横に3つならべたいと思っています。 テーブルであれば簡単にできることなのですが、 それをCSSでできないかと思っております。 そこで外部CSSに .table{ width: 10px ; background-color: #ffffff; margin: 5px; border: solid 0px ; padding: 0.5em; } と記述し、HTML部分に <p><span class="table">前のページ</span> <span class="table">HOME</span> <span class="table">後ろのページ</span></p> という風に記述してみたのですが、 文字を打っていくとどんどんよこに伸びて、横幅を指定している意味がないような感じです。 私のようなCSSの使い方をしたい場合はどのように記述すればよろしいのでしょうか?

    • ベストアンサー
    • HTML
  • CSSのfloatの回り込み解除について

    現在は、<dt>にfloat:leftを指定して、.clearを作成し、<div class="clear"></div>で解除しています。 ただ最近floatを頻繁に使うようになり、<div class="clear">が多くなってしまいどうにかならないか探しているところです。 私がやりたい事は、<dl>に直接clear属性を付属できないかです。 これができれば、回り込み解除の指定がいらなくなるので、助かるのですが、<dl>に入れると、<dt>のfloatも解除されてしまいます。 下記がサンプルソースです。 CSS: dl {clear:both;} dt {float:left;width:130px;border:solid 1px #CCC;} HTML <dl> <dt>SAMPLE</dt> <dt>SAMPLE</dt> <dt>SAMPLE</dt> </dl> <p>clearを設置しなくても回り込み解除</p> これが理想です。 やはり、clearは別で設置しなければならないんでしょうか?

    • ベストアンサー
    • HTML
  • cssについて質問です。

    cssについて質問です。 IE8で思ったように表示されるものが、Firefoxだとレイアウトが崩れてしまいます。 imgの高さや横幅がFirefoxで反映されず文字が上部に表示されるのですがいろいろやっても改善出来ずに途方に暮れています。 ヘッダーやフッターなどもありますが、関係のありそうな部分を抜き出してみました。 添付画像のように画像を3つならべて表示したいのですが、 一番無駄無くdivで組む方法もありましたらご教授下さい。 よろしくお願いします。 ■HTML■ <div class="subcontentsbox"> <div class="imgbox"> <a href="#"> <span><img src="#" /></span> <p class="code">12345</p> <p class="name">12345</p> <p class="price">12345</p> </a> </div> <div class="imgbox"> <a href="#"> <span><img src="#" /></span> <p class="code">12345</p> <p class="name">12345</p> <p class="price">12345</p> </a> </div> <div class="imgbox"> <a href="#"> <span><img src="#" /></span> <p class="code">12345</p> <p class="name">12345</p> <p class="price">12345</p> </a> </div> </div> ■css■ .subcontentsbox { font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3",Osaka,"MS Pゴシック",sans-serif; font-size: 100%; width: 100%; margin: 20px 0px; padding: 0; text-align: justify; -ms-text-justify: inter-ideograph; overflow: hidden; display: block; } .imgbox { background-color: #987654; height: 250px; width: 33.33333%; text-align: center; float: left; } .imgbox a{ text-decoration: none; border: 0; height: 180px; width: 180px; } .imgbox img{ border: 0; height: 180px; width: 180px; }

    • ベストアンサー
    • HTML
  • CSSを内部ファイルにしたい

    Dreamweaver8を使っています。前任者が外部ファイルで管理していたcssを、都合があって、一部内部ファイルに書き換えることになりました。使われているid等のcssを内部ファイルにコピペしたのですが、うまく表示されません。 cssは全てid設定になっており、idの中のタグで振り分けて設定されています。classは使っていません。どのように移行したらよいか、教えていただきたく存じます。よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • css使って<br>みたいに改行したいけど出来ない

    ブログの記事を書くときに<br/> を連発して改行していたんですが、seo敵によろしくないらしいのでこれからは cssを使って書き変えていこうと思いました ワードプレスのエディターから style.css の一番下に p.p1{ margin-top: 1em; } p.p2{ margin-top: 2em; } p.p3 { margin-top: 3em; } こうやって書きました。 それでブログの記事htmlを書くときには <p class=“p1"></p> ⇐これ書けば1行空白が空く <p class=“p3"></p> ⇐これ書けば3行空白が空く と思い書いてみたんですが <p class=“p1"></p> <p class=“p3"></p> どちらを書いても、記事は1行分の空白しか空きませんでした 大げさに p.p6{ margin-top: 6em; } というのをcssに書いて 記事のhtmlに <p class=“p6"></p> と 書いても空白は1行しか空きませんでした(;へ:) ブラウザのキャッシュを消して表示し直したりしてますが駄目です1行しか空きません なぜでしょうか??cssの記入場所が悪いのか書き方が悪いのか margin-top   を margin-bottom に変えても変わりませんでした 初心者にもわかるよう、 cssを使った改行、レイアウト変更方法を教えてください なんかcssで指定して html側になんかp classみたいな指定をした方が SEO対策になっているとか ルールにのっとっているらしいですが ググってもわかりませんでしたし なぜか一行分の空白しか空きませんで困っております。 こうやって何行も空けたいです! <p style="margin-top:6em;"></p> とhtml側に書くと改行思ったようにできます これが一番簡単ですがそれもcssで指定してないから良くないらしいです たすけて!

  • CSSでのレイアウトについて

    私は現在サイトを開設しているのですが、一から独学でHTMLを学んで分からない事があれば調べて作成してきました。 使用しているのはHTML、CSS、JavaSceript、SSIです。 見た目は自信あります。ただある程度知識がある方がソースを見たら”全然分かってないだろうな”というのがすぐにバレるぐらい酷いです。 調べて分かった事は積極的に取り入れてきました。 以前はHTMLのみで作成していたんですが、外部ファイルを使いJavaScriptやCSSをまとめています。以前に比べだいぶ簡潔なソースになり、汎用性も上がったと自負しています。 ただレイアウトは依然tableレイアウトです。 その為レイアウトをいじろうと思うと全てのファイルを修正しなければなりません。ファイル数は100を超えてます。 そこで詳しい方にお聞きしたいのですが、 ・tableレイアウトからCSSでのレイアウトに移行するのは難しい事ですか? レイアウトって聞くだけで避けてきたので、いざ移行してみて今まで作成してきたデザインが崩れるのではないかと不安になってきます。 ・下記のサイトのようなレイアウトを最近結構見かけます。 http://www.yamaga-fc.com/ 私もいづれこのようなレイアウトにしたいのですが、これは何というレイアウトでしょうか? 検索してもこのようなレイアウトの作り方が掲載されてるサイトが見つからなくて困ってます。 ヘッダーとフッターが100%。真ん中が80%ぐらいのレイアウト。 ご存知の方いらっしゃいましたらご教示ください。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • cssファイルがダウンロードできてしまう・・・

    cssを外部ファイルに置いて、http://○○○.com/css/index.cssのようにしているのですが、以下の問題が発生しています。 ■http://○○○.com/css/index.cssでcssファイルがダウンロードできてしまう。 ■cssファイルがYahoo検索エンジンにインデックスとして大量に登録されてしまう。 上記の2点の問題で非常に困っています。htaccessに  <Files ~ "\.css$">deny from all</Files> と記述しましたが、これではサイトにアクセスするとcssを読み込まずにレイアウトが総崩れしてしまいます。 どのように記述すればよいのでしょうか?

    • ベストアンサー
    • HTML
  • CSSでのレイアウトについて

    現在、table、flameタグを使わず、CSSだけでレイアウトを組んでいるのですが、その際、BOX同士が離れてしまってどうしてもBOX同士をくっつけれません。。Illustratorで作った画像をスライスしてそれをつなげたいのですが。。。marginも0にしてるのに、どうもBoxの底辺にわずかな隙間ができてしまうのです。。 css body { width:800px; margin:0; padding:0; border:0; } #outline { width:800px; margin:0; padding:0; border:0; } <!-- endheader --> <div class="center-free1"> <div class="main"> メインスペース </div> <div class="free1"> </div> <br class="clear"> </div> <div class="free2"> 灰色back </div> <div class="clear"> </div> <div class="under"> </div> </div> </BODY> 一応ソースも載せてみました。。周りでcssを使ってる人がいないので、誰にも聞けず、途方に暮れています。。どうかご教授願います。。

    • ベストアンサー
    • CSS
  • clear bothで回り込みがうまく解除できません・・・。

    cssにて現在サイトを構成しています。 そこでお詳しい方がいらっしゃいましたらアドバイスを頂けたらと思います。 回り込みの指定解除なのですが、現在cssでbothの指定を行っています。名前はclearとします。 そこで、<br>に対してclass指定で、<br class="clear" />と記述するのですが、何か旨く解除し切れません・・・。 これをブロックレベルで、<p class="clear"></p>とすると旨く解除が出来ます。・・・でも空タグが出来るのでどうなのでしょうか??? ですが、時々<br class="clear" />でも、きちんと解除できるものもありますので、何か違いをつけて、インラインとブロックで解除を分けなければいけないのかな?と思いご質問させていただきました。 すみませんが、解除の仕方をアドバイス願います。 あと、これは余談な質問ですが、imgに対してマージンなどの指定を行ってもfirefox1.5で隙間が反映されません。 <img・・・・・ class="10px">(左右に10pxマージンを指定した場合)これはfirefoxのバグか何かでしょうか?はたまた私の定義に問題アリでしょうか? どうぞ、宜しくお願いいたします。

    • ベストアンサー
    • HTML