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

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

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

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

1110閲覧

li要素の間の縦線が横にずれてしまう

takuma1217

総合スコア20

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/05/13 01:47

###実現したいこと
li要素が横並びになっていて、その間にグレーの縦線が入っているようなタイムテーブル
###問題点
ul要素に.rowというクラスを指定し、span要素で文字を太くしているのですが、li要素の間にあるボーダーの縦がそろわない

該当のソースコード

html

1 <ul> 2 <ul class="row"> 3 <li>9:30</li> 4 <li> 受付開始</li> 5 </ul> 6 <span><ul class="row"> 7 <li>10:00</li> 8 <li> ヨガレッスン開始</li> 9 </ul></span> 10 <ul class="row"> 11 <li>11:15</li> 12 <li> ヨガレッスン終了</li> 13 </ul> 14 <ul class="row"> 15 <li>11:35</li> 16 <li> フード・ドリンク提供開始</li> 17 </ul> 18 <span><ul class="row"> 19 <li>12:30</li> 20 <li> 終了</li> 21 </ul></span>

css

1/* 横並びリスト */ 2.row li{ 3 display:inline-block; 4} 5.row li:first-of-type{ 6 color:#803333; 7 border-right:#ddd solid 2px; 8 margin:0 0 5px 10%; 9 padding-right:5%; 10} 11.row li{ 12 line-height:30px; 13 font-size:15px; 14 vertical-align:center; 15}

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

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

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

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

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

guest

回答3

0

ベストアンサー

HTML の構文的に問題のある箇所を修正し、各リスト項目に width プロパティを設定することで、質問者さんの実現したいことは行なえると思います(動作確認用リンク)。

HTML

1<ul> 2 <li> 3 <ul class="row"> 4 <li>9:30</li> 5 <li> 受付開始</li> 6 </ul> 7 </li> 8 <li> 9 <div> 10 <ul class="row"> 11 <li>10:00</li> 12 <li> ヨガレッスン開始</li> 13 </ul> 14 </div> 15 </li> 16 <li> 17 <ul class="row"> 18 <li>11:15</li> 19 <li> ヨガレッスン終了</li> 20 </ul> 21 </li> 22 <li> 23 <ul class="row"> 24 <li>11:35</li> 25 <li> フード・ドリンク提供開始</li> 26 </ul> 27 </li> 28 <li> 29 <div> 30 <ul class="row"> 31 <li>12:30</li> 32 <li> 終了</li> 33 </ul> 34 </div> 35 </li> 36</ul>

CSS

1body { 2 margin: 0; 3 padding: 0; 4} 5 6ul { 7 list-style: none; 8} 9 10.row li { 11 display: inline-block; 12} 13 14.row li:first-of-type { 15 color: #803333; 16 border-right: #ddd solid 2px; 17 margin: 0 0 5px 10%; 18 padding-right: 5%; 19 width: 4em; 20} 21 22.row li { 23 line-height: 30px; 24 font-size: 15px; 25 vertical-align: center; 26}

投稿2019/05/13 02:08

編集2019/05/13 02:10
s8_chu

総合スコア14731

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

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

takuma1217

2019/05/13 02:29

思っていた通りのレイアウトができました!ありがとうございます! widthを設定するとうまくいったのですが、今回レイアウトがずれたのはどういった原因によるものなのかあまり理解ができておりません もしよろしければ、原因を教えていただきたいです!
s8_chu

2019/05/13 02:44

「受付開始」という項目の `li` 要素の 9:30 は半角 4 文字分の横幅で、それ以外の項目の 10:00 や 11:35 は 5 文字分の横幅です。 ここで、「受付開始」という項目の `li` 要素は、 1 文字分の横幅だけ他の `li` 要素よりも横幅が狭いことになるため、その分だけ線の位置がずれていました。 そのため、最初の `li` 要素の 9:30 を 09:30 とすることでも、この線のずれは解決します。
guest

0

ul要素の直下にulやspanはおけません

投稿2019/05/13 02:04

yambejp

総合スコア117615

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

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

takuma1217

2019/05/13 02:29

ご指摘ありがとうございます!
guest

0

HTML構文的にNGな点があります。

イメージ説明


HTMLの正規化が先ですね。
これではCSSも正しく効かないのでは。

投稿2019/05/13 02:11

m.ts10806

総合スコア80888

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

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

takuma1217

2019/05/13 02:28

ご指摘ありがとうございます! 文章構造についての知識も取り入れていこうと思います!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問