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

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

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

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

Q&A

4回答

1381閲覧

同一行内において無限に伸びる横線を書きたい

infologicmation

総合スコア49

HTML

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

0グッド

0クリップ

投稿2018/10/06 03:16

数学において数式に番号を付ける際、
y=f(x) ---------------- (1)
みたいな感じで横に伸びる線を書くことはよくありますが、HTML上でこれを実現したいです。

素朴に思いついたものとしては

html

1<ul> 2 <li>y=f(x)<hr style="display:inline" /><span style="float:right">(1)</span></li> 3</ul>

ですが、これは正しく機能しません。
どうすれば良いですか?

要望としては

  • ブラウザのサイズに応じて自由に(無限に)伸縮する横線で、

数式番号(上の例で言えば(1))へ繋がる横線(くっついていても、いなくてもどちらでもいい)

  • きちんと一行に収まる。改行していびつな形になるのはダメ

です。

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

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

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

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

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

m.ts10806

2018/10/06 11:12

styleと入れている時点でCSSが関係するので「CSS」もタグに入れておいてください。
guest

回答4

0

Flex ボックスを使ってはいかがでしょう。

html

1<ul> 2 <li style="display: flex; width: 100%;"> 3 <span>y=f(x)</span> 4 <span style="flex-grow: 1;"><hr /></span> 5 <span>(1)</span> 6 </li> 7</ul>

ポイントは、親要素に display: flex を指定し、横線要素に flex-grow を設定することです。
そうすることで、他の要素は元の幅で、 flex-grow を設定した要素のみが横幅に応じて伸長します。

投稿2018/10/06 07:53

編集2018/10/09 04:43
R.Mizukami

総合スコア1086

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

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

oikashinoa

2018/10/06 13:47

これ良いですね。ただ<ul>のドット 表示します? 私のchromeだと出なかったんですが。
R.Mizukami

2018/10/09 04:46

すみませんが表示しません。横線の伸ばし方さえわかればよいかなと…… display : listitem-item が flex-item で上書きされてしまうため、ドットが消えています。 ドットが必要なら、 li 要素の下に div タグを用意し、代わりにそちらにスタイルを適用するとか、 li::before{ content: "・" } スタイルを適用するとか、適当に工夫してください。 応用が利くよう、回答に簡単な解説を追加しておきました。
guest

0

2つ目の線のような感じですか?CSSだけで可能ですよ
サンプル

投稿2018/10/06 05:27

編集2018/10/06 05:35
oikashinoa

総合スコア2826

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

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

oikashinoa

2018/10/06 06:57 編集

数式はあまり見る機会がないのでイメージ湧きませんが、 目次などで表題とページ数を結ぶ線 のイメージですかね。 f(x)と(1)の間が短くても長くても切れ目なし、折り返し無しで繋ぐ線 ってかんじですか?
guest

0

投稿2018/10/06 03:44

think49

総合スコア18166

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

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

0

方法はいくつかありますが、「think49」さんのリンク先を使えるようになるのが、今後のためにも良いかと思います。

・・・簡単に少し強引な「border-style」での方法もあります・・・

HTML

1<div class="flex"> 2 <div>y=f(x)</div> 3 <div class="dotted-line"></div> 4 <div>(1)</div> 5</div>

CSS

1.flex { 2 display: flex; 3 justify-content: space-between; 4} 5 6.dotted-line { 7 width: 95%; 8 height: 0.5em; 9 border-bottom: dotted 1px #000; 10}

投稿2018/10/08 07:20

yoshinavi

総合スコア3523

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問