質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

Q&A

解決済

3回答

13143閲覧

display:table;を使った3段組のレイアウトについて

purlcuit

総合スコア10

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

リストボックス

ユーザーがリストから1つ以上のアイテムを選択できるようにするGUI要素です。

0グッド

0クリップ

投稿2015/04/23 16:02

<ul> <li class="1">テキスト</li> <li class="2">テキスト</li> <li class="2">テキスト</li> <li class="3">テキスト</li> </ul> のリストで、<ul>にdisplay:table;を、<li>にdisplay:table-cellを指定してclass="2"の<li>だけを横並びにして3段にしたいのですが、 table-cellをあてると全て横並びになってうまくいきません。 どのように指定すればよいのでしょうか? よろしくお願いいたします。

下の図のようにしたいのです。

![イメージ説明]WIDTH:300

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

Flexboxを使って実装しました。
http://jsdo.it/penguinshunya/8z26

Safariでは、-webkit-ベンダープレフィックスが必要です。
https://developer.mozilla.org/ja/docs/Web/Guide/CSS/Flexible_boxes

投稿2015/04/24 01:30

編集2015/04/24 02:57
penguinshunya

総合スコア140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

purlcuit

2015/04/30 12:47

ご回答ありがとうございます。早速実装してみますので。
guest

0

css の table-cell では、ご確認の通り横に配置するだけになります。
table-row 等の他の設定を組み合わせることによって、テーブル構造を表示することができます。

http://www.htmq.com/style/display.shtml

よくこういった配置について悩まれる方は、ブロック要素・インライン要素のことが理解していないことが多いです。。。が、ここではあえて説明は省かせて頂き、結論(手順)だけを簡単に。。。

  1. ul タグに display:inline-block を指定(かつ、overflow:hidden 設定, 横幅(width)を指定するとモアベター)
  2. li タグに display:inline-block を指定。かつ width: 100% を設定
  3. 横馴べにしたい li に適当なクラス名を設定。(例:<li class="colCell">
  4. li.colCell の横幅を、並べたい要素の個数を元に設定 (3つ → 33% など)

→ ただ気を付けなければいけないのは、margin, padding 等の設定も確認する必要が有る。
→ 割り切れない場合は、疑似要素の導入も考える(li.colCel:first-child など)

投稿2015/04/24 00:39

usk

総合スコア397

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

完全ではありませんが、こんな感じではどうでしょう?
jsdo.it 上で作ってみました。
http://jsdo.it/katoy/wNhv

![イメージ説明]WIDTH:600

lang

1* { 2 margin: 0; 3 padding: 0; 4 border: 0; 5} 6 7body { 8 background: #ddf; 9 font: 24px sans-serif; 10} 11 12ul { 13 //display: table; 14 width: 80%; 15 margin: auto; 16} 17 18.data { 19 display: table-cell; 20 color: white; 21 background-color: green; 22 text-align: center; 23 border: medium solid; 24} 25 26li:first-child { 27 display: block; 28 color: white; 29 border-bottom: 0; 30 background-color: red; 31} 32li:last-child { 33 display: block; 34 color: white; 35 background-color: red; 36 border-top: 0; 37}

現状では 2段目の部分のセルの幅の制御ができていない。。。

投稿2015/04/23 21:37

編集2015/04/25 01:14
katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問