No.4
- 回答日時:
ある問題を別の方法で解決しようとすると、どこかで矛盾が生じると思います。
(たとえばHTMLの問題をスタイルシートやJavaScriptで解決するなど。)
スタイルシートを使わないときにどのような表示になってほしいか、何を意味したいかで決めればいいと思います。
(<html lang="ja">と指定してある場合。)
例1:
<dt>色<br>
<span lang="en-us" class="en en-us">(color)</span>><br>
<span lang="en-uk" class="en en-uk">(colour)</span></dt>
<dd>光の波長の違い(色相)によって目の受ける種々の感じ。</dd>
<dd>人の肌の色。人の顔の色つや。</dd>
例2:
<dt>色</dt>
<dt lang="en-us" class="en en-us">color</dt>
<dt lang="en-uk" class="en en-uk">colour</dt>
<dd>光の波長の違い(色相)によって目の受ける種々の感じ。</dd>
<dd>人の肌の色。人の顔の色つや。</dd>
(MacOS X 付属辞書(小学館大辞泉))
これらの違いは、
「2つの補足を含む用語が1つ」なのか、「同じ意味の用語が3つ」なのかだと思います。
国語辞典のようなものであれば、前者のような書き方が適切だと思いますし、また一般的だと思います。
(多くは言語などを問わない)学術用語集などであれば、後者の方がふさわしいと思います。
なお、HTMLに日本語のカッコ書き(補足など)を意味するタグはありませんので、<span>を使う事になります。
No.3
- 回答日時:
>文書構造的に単一の要素だが行を分けたい場合
根本的な部分で矛盾があります。文書構造と、プレゼンテーションは車の両輪のようなもので、行を分けて表示したいと言うことは、必然的に
文書構造も異なるはずです。
^^^^^^^^^^^^^^^^^^^^^^^
とすると
「改行タグをはさんで2行の単一要素にする」
は、ひとつの段落中での強制改行ですから、マークアップが間違っています。
「複数の同じ要素に分割しCSSで見た目を操作する」
は、『異なる要素に分割し、見た目はCSSで操作する』
よってマークアップ自体
<div class="hgroup">
<h1>マニュアル</h1>
<h1 lang="en">MANUAL</h1>
</div>
<div class="section">
<h2>155G</h2>
<h2 lang="en">155G</h2>
<p>これは、キャンプストーブ155Gのマニュアルです</p>
<p lang="en">This is manual about 155G.</p>
</div>
<dl>
<dt>概要</dt>
<dt lang="en">Abstract</dt>
・・・・・
となるはずです。
スタイルシートは、
div.section>p{text-indent:1em;line-height:2em;margin:0;}
div.section>p[lang="en"]{text-indent:0;}
div.section>p[lang="en"]:first-leter{font-size: 200%;float: left }
とか・・・
他の部分と異なる表現をしたいと言うことは、必ずその要素は他の部分と異なる構成要素であるはずだと言うことがHTML/CSSの基本です。要素名(タグ)だけで足りない場合は、その属性(class,lang,id,title・・)で区別して文書構造をマークアップしてください。それが出来れば、スタイルシートのセレクタなどカスケーディングを活用することで表現は自在に操れます。
上の場合、本文(section)中の直接の子供(>)である段落(p){}しろ【詳細度は[0,0,1,2]】、ただし属性[lang="en"]の場合は{}しろ【詳細度[0,0,2,2]】、さらに擬似要素:first-leterの場合は{}しろ【詳細度[0,0,2,3]】
この回答への補足
回答有難うございます。
ですが、
「行を分けて表示したいと言うことは、必然的に
文書構造も異なるはずです。」
この部分に納得できません。
回答内容から、解答者の方は
「見出しを執筆者が明示的に行を変える事自体間違っている」
と認識していると判断しましたがよろしいでしょうか。
※ HTMLの理念うんぬんはこのカテゴリ内の他の質問解答で何度となく拝見しましたので
この質問スレッドにおいて再掲の必要はありません。
No.2
- 回答日時:
No.1 補足より:
> 全ての内容を同時に表示する
No.1 は例示として言語切り替えのスタイルを書いたまでのことです。全てを表示したければ例示のスタイルを消すだけです。
そんなのは表面上の話にすぎず、キモは lang 属性です。lang 属性は、言語の書記法に合ったレイアウトをブラウザに指示します。例えば:
・日本語ではソース上の改行が無意味ですが、英語では単語間空白として扱わねばならない。
・日本語・英語混在に適したフォントと、英語のみに適したフォントの切り替え(合字を含む)。
・日本語の引用符「...」と、英語の引用符 "..." の区別(音声読み上げ時など)。
・スペルチェッカなど補助ツールの選択。
だから、どのみち『複数言語での表記を併記したい場合』なら lang 属性が必要なのです。
<dt>
<span lang="ja">日本語</span>
<br>
<span lang="en">English</span>
</dt>
br で改行しただけでは、どちらのテキストが何の言語表記であるか分かりません。
<dt>
日本語? English?
<br>
日本語? English?
</dt>
ご質問では『など』がついていますが、こののように「何をしたいか」で方法が変わるため、とりあえず「言語併記」のみを考えています。
---
なお、以下はダメです。
<dl>
<dt lang="ja">日本語</dt>
<dt lang="en">English</dt>
<dd lang="ja">駅</dd>
<dd lang="en">Station</dd>
</dl>
この場合、「日本語」に属する dd はなく、「English」に属する dd が「駅」と「Station」の 2 つ、という意味になります(HTML5 の意味論)。
<dl>
<dt lang="ja">日本語</dt>
<dd lang="ja">駅</dd>
<dt lang="en">English</dt>
<dd lang="en">Station</dd>
</dl>
こちらであれば、「日本語」に属する dd が「駅」、「English」に属する dd が「Station」になります。まあ、ご質問の意図とは異なるでしょうが。
<ul>
<li lang="ja">
<span id="l1">日本語</span>
<span aria-labelledby="l1">駅</span>
</li>
<li lang="en">
<span id="l2">English</span>
<span aria-labelledby="l2">Station</span>
</li>
</ul>
lang 属性は子孫に及ぶため、このように祖先に 1 個付けておけば楽です。
※ 「教えてgoo」から閲覧している方向け:全ての補足後、締め切り時にお礼しています。
回答No.1、2をまとめてのお礼になります。
質問の本題と離れた部分になりますが、
html3.2で書かれたサイトを縮小ついでに4.01フレームへ(最終更新のため手間を省きたく)書替えている途中での質問でした。
(CSSもこの更新で初導入になります)
lang属性については失念していました。有難うございます。
No.1
- 回答日時:
<p>
<span lang="ja">駅</span>(<span lang="en">Station</span>)
</p>
*:not(:lang(ja)) { display: none }
原則論として lang 属性のコンテナが必要な以上、こうなると思います。
今は亡き XHTML 2.0 の l 要素(line)の再評価。
この回答への補足
※「教えてgoo」で閲覧している方向け:お礼前に補足しています。
回答有難うございます。
すいません、これは片方だけの表示になりますか?
質問は行を分けたい全ての内容を同時に表示する必要がある場合になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- 哲学 説得力を修辞の巧みさまたは論理の強さの2つに分析するにはどうすると良いでしょうか? 0 2022/07/20 05:46
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- その他(教育・科学・学問) 関数、写像について 1 2022/04/10 23:45
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- 数学 数学の複素数の証明問題です。 (1)複素数全体の集合に2要素間の実数と同様な大小を定義できないことを 2 2022/08/28 11:17
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「諸要素」とはどういう意味で...
-
【ヒトの神秘】美男美女から何...
-
改行ほどは行かないけど、若干...
-
CSSのセレクタに指定するbodyと...
-
NからZへの全単射を具体的に構...
-
超音波で洗脳。
-
brタグ、pタグやtableタグが非...
-
【CSS】imgタグを、親要素の幅...
-
HTMLです次の意味を持つ要素ま...
-
HTMLです 四角みたいにして中に...
-
質問1.
-
下線と文字の間を調整するには...
-
smallにtext-allignが効かない
-
テキストボックスの中にリンク...
-
双方向リスト
-
CSS:overflow要素の印刷について
-
border: noneでボタンの境界線...
-
含む含まないという概念自体の...
-
textareaの幅を画面と合わせたい
-
submit buttonの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ヒトの神秘】美男美女から何...
-
smallにtext-allignが効かない
-
含む含まないという概念自体の...
-
還暦を過ぎた方々に質問です。
-
「諸要素」とはどういう意味で...
-
質問1.
-
textareaの幅を画面と合わせたい
-
角丸画像の背景色を透明にした...
-
2個のFormを横並びにしたい
-
テキストボックスの中にリンク...
-
HTMLです 四角みたいにして中に...
-
CSS:overflow要素の印刷について
-
input type="hidden"で取得した...
-
tdに対してmin-heightの定義、...
-
HTMLページ上でiframeを最前面...
-
タグは大文字と小文字どちらが...
-
HTMLです
-
2行にしたい要素、改行か分割...
-
改行ほどは行かないけど、若干...
-
H1タグを画像にしたい
おすすめ情報