• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSSで商品を左に揃えたいです。)

CSSで商品を左に揃える方法 - WordPressでの表示に関する質問

このQ&Aのポイント
  • WordPressで商品リストを表示する際に、4つ未満の列は黒色で表示されてしまう問題が発生しています。赤色のように左に揃える方法を教えてください。
  • 商品リストを表示する際に、4つ未満の列が黒色で表示されてしまいます。左に揃える方法を教えてください。
  • WordPressの商品リスト表示で、4つ未満の列が黒色で表示される問題があります。左に揃える方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

No.1です。 >サイズや色などの種類の数が違う為に並べるときの数にも違いが出てくる  ということは、 「商品リスト」「種類が違う物がある」  から、HTMLは2階層のリストとしてマークアップすることになりますね。どのようにプレゼンテーションするかはHTMLを書くときは、一切気にしない・・・くらいの気持ちで。 ★「1列目】_靴下A_1赤色_2白色_3黄色_4緑色、【2列目】靴下B_1赤色_2白色、【3列目】靴下C_1赤色_2白色_3黄色…のように商品によって」 ですから、率直に <div class="productList"> <!-- 商品リストを示す要素なんてないのでclassを併用したdiv要素でマークアップします。--> _<ol><!-- 序列リストにしておきます --> __<li>靴下A ___<ol> ____<li>赤色</li> ____<li>白色</li> ____<li>黄色</li> ____<li>緑</li> ___</ol> __</li> __<li>靴下B ___<ol> ____<li>赤色</li> ____<li>白色</li> ___</ol> __</li> __<li>靴下C ___<ol> ____<li>赤色</li> ____<li>白色</li> ____<li>黄色</li> ___</ol> __</li> _</ol> </div> だとして div.productList{width:648px;border:solid 1px gray;} div.productList ol,productList ol li{list-style:none;margin:0;padding:0;} div.productList ol li ol{margin-left:40px;} div.productList ol li ol li{width:150px;height:150px;float:left;border:solid 1px; gray;} div.productList ol li ol:after{content:"";display:block;clear:left;} とか・・・ もっと増えたら2段になる。

precious2014
質問者

お礼

返事が遅くなってすみません。教えていただいたコードでさえも自分のスキルでは難解で1つ1つ調べおりましたので時間がかかってしまいました。おかげさまで希望の形にすることができました。作り方には複数の方法があることを知り大変勉強になりました。今後の制作にも活かしていきたいと思います。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

商品リストなのに、なぜtableでマークアップされているのですか? 商品リストでしたらリストでマークアップしましょう。 『非視覚系メディアでのレンダリングに際して問題を起こすことがあるため、単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )』 また、 ■■■■ ■■■ ■■■■ ■■ のように表示する理由はなんでしょう。 ■■■■ ■■■■ ■■■■ ■ でなく。  4行がそれぞれカテゴリーが異なるのでしたら <ul>  <li>   <ul>    <li>■</li>    <li>■</li>    <li>■</li>    <li>■</li>   </ul>  </li>  <li>   <ul>    <li>■</li>    <li>■</li>    <li>■</li>   </ul>  </li>  <li>   <ul>    <li>■</li>    <li>■</li>    <li>■</li>    <li>■</li>   </ul>  </li>  <li>   <ul>    <li>■</li>    <li>■</li>   </ul>  </li> </ul> のようにマークアップされるはずです。

precious2014
質問者

補足

補足です。 横に2つや3つしか並ばないのが存在する理由といたしまして、例えば靴下の商品を並べるときに【1列目】_靴下A_1赤色_2白色_3黄色_4緑色、【2列目】靴下B_1赤色_2白色、【3列目】靴下C_1赤色_2白色_3黄色…のように商品によってサイズや色などの種類の数が違う為に並べるときの数にも違いが出てくるのです。このあたりも素人のレイアウトセンスが災いしているのかもしれませんが…tableを使ってしまったのも横に並べる方法を調べましたらこのようにすると書いてあったのに飛びついてしまっただけで深い理由はありません。商品を横に並べていく方法で教えていただけると嬉しいです。説明不足ですみませんがよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • cssで商品を並べる時、テーブルを使わないでできる?

    cssとっかかったばかりの初心者ですのでわけのわからない質問ばかりしてしまいますが、よろしくお願いします。 cssを使ったページに商品を並べる場合、テーブルを使ってレイアウトするのが楽と思いますが、テーブルを使わないで2列、3列というようにできますか? 普通にテーブルを使ったら <table> <tr> <td>item1</td> <td>item2</td> <td>item3</td> </tr> <tr> <td><img src="img/01.jpg" width="100" height="100"></td> <td><img src="img/02.jpg" width="100" height="100"></td> <td><img src="img/03.jpg" width="100" height="100"></td> </tr> </table> ですが、テーブルタグをつかわず、cssで列を指定ってできますか? それとも、商品ラインナップの場合はテーブルで入れるのが普通ですか??? いろいろやってみたんですが、わからなくなったので、質問します。 よろしくお願いします。

    • ベストアンサー
    • XML
  • 列の幅をcssで指定するには?

    <table> <tr><td>あ</td><td>い</td></tr> <tr><td>う</td><td>え</td></tr> </table> というテーブルがあるのですが こういう場合、 左の列(あ、う)は1em、右の列(い、え)は2em、 と、スタイルシートで指定する場合、どうすればいいでしょうか?

    • ベストアンサー
    • HTML
  • 2列目のみcssを適用させるには?

    <html> <head> <title>test</title> <style type="text/css"> table.test td+td { padding-left:1em; } </style> </head> <body> <table class="test" border=1> <tr><th>No</th><th>タイトル(この列だけ左からの距離を指定する)</th><th>その他</th></tr> <tr><td>1</td><td>bbb</td><td>1</td></tr> <tr><td>2</td><td>ccc</td><td>2</td></tr> </table> </body> </html> このソースだと2列目と3列目にcssが適用されてしまいます。 table.test td+td の部分は、okwaveからのコピペで見よう見まねでやってみたのですが どうすれば「2列目だけ」を指定できますか? このソースでの表示結果は画像の通りです。

    • ベストアンサー
    • HTML
  • 選択行だけ色を変更する場合のCSSの書き方

    以下のHTMLで、どうすれば、選択行だけ青に変更できるでしょうか? <table> <tr> <td class="lc"> <input type="button" value="色変更" onClick="選択行だけ青に変えたい"> </td> <td class="lc">赤</td> <td class="lc">赤</td> </tr> <tr> <td class="lc"> <input type="button" value="色変更" onClick="選択行だけ青に変えたい"> </td> <td class="lc">赤</td> <td class="lc">赤</td> </tr> </table>

    • ベストアンサー
    • HTML
  • CSSだけで<table>の<td>や<tr>要素を並べ替えることができAますでしょうか?

    CSSだけで<table>の<td>や<tr>要素を並べ替えることができAますでしょうか? 例えば、HTMLで一行に3列になるよう以下の様に記述した時に <table> <tr> <td> <p>テキスト左</p> </td> <td> <p>テキスト中</p> </td> <td> <p>テキスト右</p> </td> </tr> </table> CSSでのそうさのみによって 見栄え的に縦3行、横1列に見えるようにできますでしょうか? 幅などをピクセル制限したりするのでも構いません。 もしHTMLで実現するとするならば <table> <tr> <td> <p>テキスト左</p> </td> </tr> <tr> <td> <p>テキスト中</p> </td> </tr> <tr> <td> <p>テキスト右</p> </td> </tr> </table> 上記のような記述になると思いますが、あくまで最初のHTMLをCSSで変更して、HTML本体は書きかえない方法です。 もし、何らかの形で実現できそうな場合がありましたらアイディアをください。 お忙しいところお手数おかけしますが、よろしくお願いいたします。 ※CSS記述の変更のみ。 ※特定のブラウザに依存させたくない。 ※Javasprictは使用しない。

  • ホームページのテーブルをWordに貼り付けると左にづれる?

    以下のコードのHTMLで作られたテーブルをブラウザーに表示→コピー→Wordに貼り付けると、テーブルがWordの文字列開始位置よりも左側にづれてペーストされるのですが、どのようにして回避できるのでしょうか? コード: <table width="550" border="1" cellspacing="0" cellpadding="40"> <tr> <td width="466" colspan="2" align="center"> 表タイトル </td> </tr> <tr align="left" valign="top"> <td width="118"> 表見出し行 </td> <td width="266"> データ </td> </tr> </table> どうやら、テーブルのcellpaddingが関係しているようで、cellpaddingの値を以下のコードのように小さくすると、テーブルをWordに貼り付けたときに文字列開始位置よりも左にずれる割合は小さくなります。 コード: <table width="550" border="1" cellspacing="0" cellpadding="5"> <tr> <td width="536" colspan="2" align="center"> 表タイトル </td> </tr> <tr align="left" valign="top"> <td width="188"> 表見出し行 </td> <td width="336"> データ </td> </tr> </table> ただ、それでも少し左にずれることには変わりませんし、cellpaddingの値が大きなテーブルをWordに貼り付けるときの回避策とはなりません。 どのようにしたら、cellpaddingの値が0ではないホームページのテーブルをブラウザーからコピーしWordに貼り付けたとき、Wordの文字列開始位置より左にずれないようにできるのでしょうか? よろしくお願いします。

  • TABLEのマスの増やし方

    HTMLのテーブル?について教えて下さい。 ******************************************************************************************************************************* <TABLE class=table_a style="WIDTH: 100%"> <TBODY> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> <TD class=table_a_th2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR></TBODY></TABLE> ******************************************************************************************************************************* という記載で、縦3列横3列の表が出来るのですが 表の内容(枠組み)を変更する方法が分かりません。 *********************************************************** <TABLE class=table_a style="WIDTH: 100%"> <TBODY> <TR> <TD class=table_a_th2 rowSpan=2>左列</TD> <TD class=table_a_td>中列</TD> <TD class=table_a_td> <P>右列<BR class=first-child>右列</P> <P>右列</P></TD></TR> <TR> <TD class=table_a_td>中列</TD> <TD class=table_a_td>右列</TD></TR> <TR> ************************************************************* 作成したいのはこのようなイメージのもので 中列と右列を増やして行きたいのです。 どなたか詳しいかたご教授下さい。

    • ベストアンサー
    • HTML
  • CSSで左に画像、右にテキストを並べたい。

    CSSで左に画像を置いて右にテキストを同じ列で並べたいのです。 (●=画像 ▲=テキスト) 現在の表示は ●▲ となっているのですが、これを ●     ▲ と表示して画像は左端、テキストは右端にしたいのです。<td>で区切ればできると思うのですが、これをCSSだけで何とかできないでしょうか? 色々試したのですが、どうしても下のように改行してしまいます。 ●       ▲ ソースは以下です。 <table border="0" cellpadding="0" cellspacing="0" width="750" > <tr> <td colspan="2" id="head"><img src="img/777.gif" border="0">おはよう</td> </tr> </table> 外部CSS #head{background-color:#009900 width:750px; height:60px; margin-right:5px} どなたか宜しくお願い致します。

    • ベストアンサー
    • HTML
  • CSS テーブルタグの二列目にそれぞれ色を付けたい

    http://takuya-1st.hatenablog.jp/entry/2013/12/05/035607 これを参考にやってみましたが、何も反映されませんでした。 ややこしくてうまくいけませんでした。 テーブルタグ <table> <tr> <td>A</td> <td>赤</td> </tr> <tr> <td>B</td> <td>白</td> </tr> <tr> <td>C</td> <td>黄</td> </tr> </table> どうすれば良いか、教えてください。 よろしくお願いします。

    • ベストアンサー
    • CSS
  • テーブルをcssでどうやる?

    <table border="1"> <tr> <td>あ</td> <td>い</td> <td>う</td> <td>え</td> <td>お</td> </tr> <tr> <td>かか</td> <td>き</td> <td>く</td> <td> け け け </td> <td>こ</td> </tr> <tr> <td>ささ</td> <td>ししし</td> <td>す</td> <td>せせ</td> <td>そ</td> </tr> </table> 横にも長く、縦にも長く セルに入る文字も1文字限定ではない場合、 テーブルで表現するのは簡単ですが これをcssでできるのでしょうか? セルに入る文字数が同じならば、なんとかできそうな気もするんですが そうじゃない場合、 縦の列を並べるというか事はできるんでしょうか?

    • ベストアンサー
    • HTML