LoginSignup
26
20

More than 5 years have passed since last update.

ブラウザ別、一行での両端揃えの方法

Last updated at Posted at 2018-04-12

一行の文で右端と左端を揃えたデザインにしたい場合に使う方法が、ブラウザごとに違ったためまとめました。

スクリーンショット 2018-04-12 21.24.14.png
やりたいのはこうゆうこと。
右端と左端が縦に揃っているでしょう。

chrome, firefox

text-align-last: justify;
をつける。

<ul>
  <li>なす</li>
  <li>とまと</li>
  <li>きゅうり</li>
</ul>
ul {
  width: 100px;
}
li {
  text-align-last: justify;
}

IE,edge

日本語のように空白文字で区切らない言語はtext-align(-last)だけだと均等にならない。
text-justify:inter-ideographをつける必要がある。
text-justifyはIEが独自での採用したもので、inter-ideograph を指定すれば日本語・中国語・韓国語の文字間隔を調整して両端揃えにしてくれるそうです。

<ul>
  <li>なす</li>
  <li>とまと</li>
  <li>きゅうり</li>
</dl>
ul {
  width: 100px;
}
li {
  text-align-last: justify;
  text-justify:inter-ideograph;  
}

safari

safariではまだtext-align: justify;がうまく効いてくれません。なので、少しめんどくさい方法を取る必要があります。
一文字一文字をspan で囲って、親要素にdisplay:flex;justify-content: space-between;をつける。

<ul>
  <li>><span></span><span></span></li>
  <li><span></span><span></span><span></span></li>
  <li><span></span><span></span><span></span><span></span></li>
</ul>
ul{
  display:flex;
  justify-content: space-between;
}

まとめ

基本的にsafariは対象ブラウザになるかと思いますので、両端揃えをしようと思うと一番下の作業が必要になります。
結構な手間なので、文字数があまりに多い場合はデザイン自体を考え直した方が良いかもしれません。

26
20
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
20