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

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

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

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

CSS

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

Q&A

解決済

3回答

1876閲覧

list-style-image 垂直方向の揃えがうまくいかない

synth

総合スコア9

HTML5

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

CSS

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

0グッド

0クリップ

投稿2020/01/19 17:04

前提・実現したいこと

list-style-imageを使用して、リストの前にチェックマークのpngを置いた。
その後に続く文章と、垂直方向でズレる。

発生している問題・エラーメッセージ

画像と文章とで、垂直方向の揃えがうまくいかない。

該当のソースコード

【HTML】

<ul>  <li>予約前に政府発行の身分証明書を求める権限</li>  <li>ハウスルールに同意しないと泊まれない</li>  <li>過去の宿泊のレビューもばっちり読める</li>  <li>財物損害は¥100,000,000まで無料で補償</li>  <li>$1,000,000の賠償責任保険が無料で付帯</li>  <li>24時間365日対応グローバルカスタマーサポート</li> </ul>

【CSS】
ul{
list-style-image: url('https://icon-icons.com/icons2/72/PNG/32/check_14413.png')
}

試したこと

vertical-alignリンク内容

HTMLにimgで画像を挿入しても良いのだが、もっとよい方法があれば教えてもらいたい。

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

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

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

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

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

guest

回答3

0

ベストアンサー

list-style-imageは、縦位置の調整はできません。
よって、どうしても位置を調整したい場合は、いくつか方法がありますが、回答いたします。

  • 画像そのもので、隙間がある画像にし、位置を調整

ただし、これは、画像を作る際に、融通がきかなくなるので、お勧めできません。

  • list-style-imageではなく、li要素の背景画像で指定する。

css

1ul{ 2 list-style: none; 3} 4li { 5 background: url(https://icon-icons.com/icons2/72/PNG/32/check_14413.png) 0 5px no-repeat; /* 位置指定は、横 縦の順で指定 */ 6 padding: 0 0 0 10px; /* 画像の大きさ分隙間を指定 */ 7}
  • li要素の、boforeafter擬似要素を指定し、その背景画像で指定する。

css

1ul{ list-style: none;} 2li { 3 position: relative; /* 絶対座標要素の基準位置をとる */ 4} 5li:before { 6 background: url(https://icon-icons.com/icons2/72/PNG/32/check_14413.png) 0 0 no-repeat; 7 content: ""; 8 display: block; 9 height: 10px; 10 left: -10px; 11 position: absolute; /* liの範囲外に置くため、絶対座標とする */ 12 top: 5px; 13 width: 10px; 14}
  • 質問者さんのおっしゃる通り、HTML上でimg要素にて配置してしまう。

ただし、この方法は、特に動的にHTMLを変化させる時には不向きでしょう。
CSSのみで完結できる、上記二つのいずれかがよいかと。

list-style-imageの位置に関しては、誰しも調整したいと思うものなので、
今後、位置調整が可能になる可能性もあるので、
CSSのアップデートに期待しましょう。
(CSS4の策定が進んでいるそうですよ)

投稿2020/01/20 01:25

miyabi_takatsuk

総合スコア9528

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

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

synth

2020/01/20 12:47

ありがとうございます! 思っていた通りのことができました!!! ありがとうございます涙 初めて利用したので、回答あるか不安でしたが、とても丁寧に教えてくださりありがとうございます。 驚きました!!自分1人では絶対にたどり着けない答えでした。
miyabi_takatsuk

2020/01/20 12:51

解決してなによりです。 同じものであっても、実装方法は一つとは限らないので、柔軟にいろいろな方向から試作することが、完了の近道だったりします。
synth

2020/01/20 13:04

なんていい人なんですか。ありがとうございます!!!
guest

0

list-style-imageプロパティを使う方法では画像サイズや表示位置を調整できないようです。
background-imageプロパティで背景画像として表示させるといいでしょう。

cssul{

1ul { 2 list-style: none; 3} 4li{ 5 padding-left: 40px; 6 line-height: 40px; 7 background: url(https://icon-icons.com/icons2/72/PNG/32/check_14413.png) 8 left 0px top 2px/30px no-repeat; 9}

動作確認用サンプル

投稿2020/01/20 01:18

編集2020/01/20 01:27
hatena19

総合スコア33715

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

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

synth

2020/01/20 13:09

ありがとうございます! 思っていたことが完璧に実現されていました。
guest

0

list-style-imageプロパティは、リストの先頭に表示するマーカーに画像ファイルを指定する際に使用します。
尚、list-style-typeと、list-style-imageの値を同時に指定した場合には、 list-style-imageの値が優先されます。

投稿2020/01/19 18:01

torisetu

総合スコア80

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

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

x_x

2020/01/20 02:35

htmq.com から質問と関係ない適当な文を引っ張ってきて回答しないでほしいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問