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

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

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

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

Q&A

解決済

2回答

788閲覧

CSSのみで制御とは

退会済みユーザー

退会済みユーザー

総合スコア0

HTML

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

0グッド

0クリップ

投稿2017/05/26 11:02

とあるサイト制作について、

  改行コードは使わずに、CSSのみで制御を行うよう言われたのですが、一体どういう意味なのでしょうか?技術不足のため理解ができませんでした。どなたかご教授いただきますと有り難いです。

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

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

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

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

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

guest

回答2

0

本当に文章を改行したいのであれば、<br>を使えばいいですし、
改行をしたくないスペースなのであれば、 (no break space)を使えばいいです。
別の意味で使ってはいけないってことです。

以下のようなブロック間の幅を確保するための<br>などは好ましくありません。
メニューとメインの間はもう少し隙間が欲しいから<br/>を増やしてっと。。。みたいなことです。
<br>は改行を意味するもののため、文章以外で使われていること自体がおかしいんです。

HTML

1<header></header> 2<br /> 3<aside></aside> 4<br /><br /> 5<article id="main"></article> 6<br /><br /><br /> 7<footer></footer>

同様の理由で以下のようなものもおかしいです。

HTML

1<input type="text" id="first-name" />&nbsp;&nbsp;&nbsp;<input type="text" id="last-name" />

レイアウトの縦間隔のために<br />を、
横間隔のために を乱用する人は今でもいてますが、やめた方がいいです。
HTMLは文書構造を意味するものだけのため、レイアウトやデザインに関わってくるべきではないからです。

例えば、今回のような<br>もそうですし、<font color="red">テキスト</font>
<center><table>略</table></center> などもです。
こういうレイアウトやデザインを表すタグは昔は使えたのですが、
今では非推奨もしくは廃止されています。

そしてレイアウトやデザインを担うのがCSSです。
今回で言うのであれば、隙間が欲しいのであれば、「余白」を意味するmarginを使いましょう。

見た目的には<br>&nbsp;で望んだものになるかもしれませんね。
それでも、タグには1つ1つ意味があるため、その意味以外で使うのはやめましょう。
というのがHTML5の考え方です。
この考えにのっとったHTMLをセマンティックHTMLと言います。

これに反する代表的なものが、テーブルレイアウトですね。

<table>タグを使ってレイアウトをするやつです。 <table>は表なので、表以外では使うべきでありません。

それぞれのセマンティクス(意味)が分かりやすいと、
検索エンジンのクローラーなどにとても好かれやすいため、検索結果が上位にきやすかったりします。
細部まで解析しなくても、大まかなタグの構造を見るだけで、
ある程度ちゃんと作られたサイトだなってのが分かるためです。

最初に書いたHTMLはちょっと前までは以下のように書いていました。

HTML

1<div id="header"></div> 2<br /> 3<div id="menu"></div> 4<br/><br/> 5<div id="main"></div> 6<br/><br/><br/> 7<div id="footer"></div>

しかし、これは文書として何の意味も持たないため、綺麗ではありません。
<div>タグ自体が特に意味を持っていないからです。
今やそれらを表す代わりとなるタグがありますので、それらを使うべきだということになります。

ちょっと話しが脱線してるように思えるかもしれませんが、

&nbsp; 改行コードは使わずに、CSSのみで制御を行うよう言われた

そうしなければならない理由の本質的な部分は、こういうことです。
HTMLは文書構造のみを、レイアウトやデザインはCCSで」です。

投稿2017/05/26 12:12

編集2017/05/26 12:20
root_jp

総合スコア4666

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

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

0

ベストアンサー

ソースが無いのでわかりませんが、<br>の連続とかをやっちゃったのでは?
あと、&nbsp;をスペース空けるために使ってたとか…
いずれも、paddingormarginで対応してくれということじゃないかと思います。

投稿2017/05/26 11:09

編集2017/05/26 11:13
LibertyBell3

総合スコア1084

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

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

退会済みユーザー

退会済みユーザー

2017/05/26 11:22

ソース貼るべきでした。cssの中のpaddingとmarginを確認してみます。ソースのない中、回答頂けたことに感謝しております。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問