スマホとPCで改行位置を変更する方法とセマンティックなマークアップ

こんにちは、Room8オーナーの鶴田です。
今回は、レスポンシブデザインを学ぶ中で、スマートフォンとパソコンで要素の改行位置を変更する方法について解説します。特に、(@room8jp) のようなユーザー名やURLを表示する場合、適切な位置で改行することでレイアウトを最適化できます。

また、セマンティックなマークアップの重要性と、HTMLの簡略化とのトレードオフについても触れますので、コーディングスキルの向上に役立つ情報が得られるはずです。

これから一緒に、実践的な例を通じて学んでいきましょう。

1. <wbr> タグを使用して改行位置を指定する

<wbr> タグを使用すると、単語の途中で改行可能な位置を指定できます。以下の例では、(@room8jp) の適切な位置に <wbr> タグを挿入しています。

<p>ユーザー名: <a>(@<wbr>room8jp)</a></p>

この場合、(@room8jp) が画面からはみ出す場合、(@ の後で改行されます。

2. スマホとPCで改行位置を変更する2つの方法

メディアクエリを使用したCSSで、スマートフォンとパソコンの改行位置を制御できます。以下の例では、<span class="pc-only"><br></span><br class="pc-only"> の2つの方法を示します。

2.1 <span class="pc-only"><br></span> を使用する方法

<p>ユーザー名: <a>(@<wbr>room8jp)</a><span class="pc-only"><br></span>をフォローしてください。</p>

<style>
  .pc-only {
    display: none;
  }

  @media (min-width: 768px) {
    .pc-only {
      display: inline;
    }
  }
</style>

この方法では、<br> 要素を <span> 要素で囲み、pc-only クラスを付与しています。CSSでは、デフォルトで .pc-onlydisplay プロパティを none に設定し、メディアクエリを使用してパソコンの場合に inline に変更しています。

2.2 <br class="pc-only"> を使用する方法

<p>ユーザー名: <a>(@<wbr>room8jp)</a><br class="pc-only">をフォローしてください。</p>

<style>
  .pc-only {
    display: none;
  }

  @media (min-width: 768px) {
    .pc-only {
      display: inline;
    }
  }
</style>

この方法では、<br> 要素に直接 pc-only クラスを付与しています。CSSの設定は、<span class="pc-only"><br></span> の場合と同じです。

両方の例で、CSSを使用してデフォルトで .pc-onlydisplay プロパティを none に設定し、メディアクエリを使用してパソコンの場合に inline に変更しています。

3. <span class="pc-only"><br></span><br class="pc-only"> の特徴

上記の2つの方法には、それぞれ特徴があります。

3.1 <span class="pc-only"><br></span> の特徴

  • セマンティックな観点から適切
  • <br> 要素を <span> 要素で囲むことで、改行の表示制御を目的としたマークアップであることを明確にしている
  • コードの意図が明確になる

3.2 <br class="pc-only"> の特徴

  • HTMLの簡略化を優先
  • セマンティックな観点からは、<br> 要素に直接クラスを付けることは要素の本来の意味から外れている
  • コードの記述量が少なくなる

<span class="pc-only"><br></span> の方法は、セマンティックな観点から適切であり、コードの意図が明確になります。一方、<br class="pc-only"> の方法は、HTMLの簡略化を優先しているため、コードの記述量が少なくなりますが、セマンティックな観点からは適切ではありません。

したがって、セマンティックなマークアップを優先する場合は <span class="pc-only"><br></span> を使用し、HTMLの簡略化を優先する場合は <br class="pc-only"> を使用することになります。

4. セマンティックとHTMLの簡略化どちらを優先すべきか?

何を優先するかで変わりますが、僕としてはセマンティックなマークアップを優先するのが良いと考えます。
セマンティックなマークアップを優先する理由は以下の通りです。

  • SEOの改善
  • アクセシビリティの向上
  • コードの可読性と保守性の向上
  • 将来の変更への適応性

一方、HTMLの簡略化を優先すると、コードの記述量は減りますが、セマンティックな意味が失われ、SEOやコードの可読性や保守性が低下する可能性があります。

したがって、セマンティックなマークアップを優先することをお勧めします。

まとめ

今回は、以下のことを学びました。

  1. <wbr> タグを使用して改行位置を指定する方法
  2. スマホとPCで改行位置を変更する方法
  3. <span class="pc-only"><br></span><br class="pc-only"> の特徴
  4. セマンティックなマークアップを優先する理由

レスポンシブデザインを実装する際、適切な改行位置の指定はレイアウトの最適化に重要な役割を果たします。また、セマンティックなマークアップを優先することで、コードの可読性、保守性、アクセシビリティ、SEOが向上します。

HTMLの簡略化とセマンティックなマークアップのバランスを取ることが大切ですが、基本的にはセマンティックなマークアップを優先し、必要に応じてHTMLの簡略化を検討することをお勧めします。

これからも、これらの知識を活かして、より良いコーディングを心がけていきましょう。

この記事を書いた人

株式会社Room8 代表取締役 鶴田 賢太

# 鶴田のプロフィール

こんにちは。20年以上、様々な分野を渡り歩いてきた「雑種系」起業アドバイザーの鶴田です。 大学時代に取った日商簿記1級が、この長い旅の始まりでした。そこから、IT業界に飛び込んで富士通グループでSEとして働いたり、外資系金融機関で経験を積んだり。一見バラバラな経歴を重ねてきました。

正直、これまで散々言われてきたんです。「簿記1級を持っているのにもったいない」「ITスキルを無駄にしている」「FPの資格も生かせていない」って。でも、僕は僕の行きたい方向へ進むと決めて、自分の道を歩んできました。

2014年、「人と人とが繋がる場所を作りたい」。そんな思いに突き動かされて、春日井市にコワーキングスペースRoom8を立ち上げました。そこから、驚くべきことが起こり始めたんです。

起業家が集まる場所だからでしょうか、簿記の知識を活かして財務の相談に乗ったり、エンジニア時代の経験を生かしてITの相談を受けたり。気づけば、周りから「無駄」だと言われていたあらゆる経験が、ここRoom8で一つずつ意味を持ち始めたんです。

その流れで、Webサイト制作事業を始めたり、補助金申請のサポートをしたり。Room8を始めたことで、過去の点と点が線になり、一枚の絵を描き始めた。そんな不思議な体験をしています。

今、つくづく思います。無駄だと思えることなど、一つもなかったんだな、って。

最近のマイブームは人工知能(AI)、特に生成AI。これも、きっと将来どこかで繋がるんだろうなと、わくわくしています。

このブログでは、僕の経験や気づき、そしていろんな方々との出会いから学んだことを、できるだけわかりやすくお伝えしていきます。財務相談、IT戦略、マーケティング、ブランディング、AIなど、幅広いテーマについて、一緒に学び、成長していけたら嬉しいです。

新しいことにチャレンジすることで、思いもよらない形で過去と未来が繋がる。たとえ回り道に見えても、それは必ず自分の糧になる。そんな確信を持って、これからも歩んでいきたいと思います。

春日井の地で起業を考えている方、新しいチャレンジを模索している方、ぜひRoom8に足を運んでみてください。皆さんも、この学びの旅に参加してみませんか?