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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

Q&A

解決済

1回答

490閲覧

文字数分の可変インデントをつけるには?

sascha

総合スコア16

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

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

CSS

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

0グッド

1クリップ

投稿2017/09/01 03:35

###前提・実現したいこと
イメージ説明
この画像のように、青文字分のインデントを下の行に付けたいです。

###発生している問題
インデントが固定幅の場合は色々な方法が可能ですが、
文字数分で可変させる場合、CSSのみでできるのか、どのように書いたら良いか解決策が見つかりません。
JSはあまり詳しくなく、どのように制御したら良いかわかりません。

###試したソースコード
HTMLはなるべく<li>を使用したいです。

<div style="display:flex"> <span style="flex:0 1 5em;">フルーツ:</span> <ul style="flex:1 1 auto; display:inline;"> <li>りんご</li> <li>みかん</li> <li>グレープフルーツ</li> </ul> </div> <div style="display:flex"> <span style="flex:0 1 15em;">動物:</span> <span style="flex:1 1 auto;">猫とか犬</span> <span style="flex:1 1 auto;">ペンギン</span> <span style="flex:1 1 auto;">イルカ</span> </div> <div style="display:flex"> <span style="flex:0 1 15em;">映画のジャンル:</span> <span style="flex:1 1 auto;">アクション</span> <span style="flex:1 1 auto;">ホラー</span> </div>

回答お待ちしています。

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

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

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

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

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

guest

回答1

0

ベストアンサー

提示されたコード

HTML

1<div style="display:flex"> 2 <span style="flex:0 1 5em;">フルーツ:</span> 3 <ul style="flex:1 1 auto; display:inline;"> 4 <li>りんご</li> 5 <li>みかん</li> 6 <li>グレープフルーツ</li> 7 </ul> 8</div>

で出来ている気がしますが、display: flex;を使用せずにfloatのみでも簡単にできます。

HTML

1<dl> 2 <dd>フルーツ:</dd> 3 <dd> 4 <ul> 5 <li>りんご</li> 6 <li>みかん</li> 7 <li>グレープフルーツ</li> 8 </ul> 9 </dd> 10</dl> 11<!-- 以下同様 -->

CSS

1dl { 2 overflow: hidden; 3} 4 5dd,dt { 6 float: left; 7}

【追記】

HTML

1<span style="flex:0 1 5em;">フルーツ:</span>

のstyleを削除すればこのままのコードで実装できます。

投稿2017/09/01 04:08

編集2017/09/01 04:13
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sascha

2017/09/01 04:14

早速の回答ありがとうございます! 「フルーツ:」と、「りんご」が同じ行になるようにしたいです。 自分で試した限りでは、<li>を使うと「りんご」以下が改行されてしまいます。。
退会済みユーザー

退会済みユーザー

2017/09/01 04:16

ul,li要素にmargin: 0; padding: 0;を追記してみてください。
sascha

2017/09/01 06:02

ご丁寧にありがとうございます! できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問