
No.3ベストアンサー
- 回答日時:
こんにちは
直接の回答ではありませんが、大切なことと思いますので。
>文字を折り返して、スペースで位置調整しますので、~~
この発想が諸悪の根源(?)ですね。
そもそもの文章として、スペースが必要でないところに、レイアウトのためだけにスペースを入れるようなことをすると、文章の内容自体が崩壊します。
特にhtmlの場合は、閲覧者の環境は、PC、スマホ、タブレットなど様々です。
固定幅でレイアウトしているのならまだしも、可変幅でレイアウトしていると、ご説明のようなスペースを使った調節では、画面幅が変わるとレイアウトが滅茶苦茶になる可能性があります。
その際に、不要なスペースが文章を読み取る障害となります。
レイアウトが多少崩れても、文章がちゃんとしていれば読み取れますが、妙なスペースは邪魔にしかなりません。
最近のHTMLでは文章とその構成をHTMLでマークアップし、表示のレイアウトはCSSで行うという考え方が確立してきましたので、それに沿ったマークアップをなさるのが宜しいと思います。
>「あいう えお」の、「う え」の中間の~
文章として「あいうえお」とあるものを「あいう えお」と記すのは、著者が「あいう えお」という意味として読んで欲しい時だけです。
折返し(インデント)を調整したいのかも知れませんが、このサイトの質問蘭に長い文章を入れれば、自然と折り返してくれるように、文章の折り返しを利用するのが普通の考え方と思います。
そうするこてで、表示するスペースの幅が変わっても、その幅に応じた位置で折返しがされるからです。
>そのメニュー幅に文字数が収まらないので、下に<br>で下ろしています。
文章の区切り以外に改行(<br>)を用いることも、文章構成として不自然なことです。
文章の区切り
以外に改行(
<br>)を用いる
・・・
のような不必要な書き方であり、筆者の意図がそこにない限りは、好ましい表現とは言えないでしょう。
もしも、HTMLやCSSの基本的な考え方をご存じないのであれば、まず、そのあたりをざっと押さえておかれるのが宜しいと思います。
https://developer.mozilla.org/ja/docs/Learn/Gett …
https://developer.mozilla.org/ja/docs/Learn/CSS/ …
https://developer.mozilla.org/ja/docs/Learn/Gett …
さて、ご質問にあるような折り返しを、スペースを用いずに実現するには、対象となっている要素をブロック(または、インラインブロック)にしておいて、その要素が幅を持つようにしておきます。
その上で、ブロック全体の位置を調節(左マージンや、フロートなどなど)すると、内容の文章がその幅を超えれば折返しが行われ、(ブロックなので)見かけ上インデントされているように見えるはずです。
・・・などと書いても、意味が通じないように思いますので、ごく簡単な一例を・・・
質問者様のレイアウトがどうなっているのかわからないので、回答にはなっていませんが、少なくとも『スペースでインデントを調整する必要はない』ということはおわかりいただけるのではないかと思います。
下記の例は、固定幅にしてありますが、可変幅でも同様の考えは可能です。
また、レイアウトは単純なfloatの例ですが、flexやgridによる方法など、文書の構成に合わせていろいろな方法が考えられるものと思います。
<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<style type="text/css">
#test { width:12em; }
#test a {
display:block; width:5em;
margin:0 0.2em 0.3em;
clear:right; float:right;
}
</style>
</head>
<body>
<div id="test">
<a href="#">あいうえおかきくけこ</a>
<a href="#">さしすせそたち</a>
<a href="#">なにぬねのはひふ</a>
テストテストテスト
</div>
</body>
</html>
有り難うございます。
皆さんのアドバイスを元に、どの様にするべきかを考えると下記ご指摘は最もですね。
文字間にブランクがあると文字と同じ認識になりますので。
>この発想が諸悪の根源(?)ですね。
そもそもの文章として、スペースが必要でないところに、レイアウトのためだけにスペースを入れるようなことをすると、文章の内容自体が崩壊します。
テストサンプルを確認しました。
当初私が考えていた、左側の大項目と右側の中項目のレイアウトにして、折り返し文字の先頭位置をこの様にしたかったのですが、知識がありませんでした。
今は、html構文にcssでレイアウトするアドバイスも頂きなんとか形になりました。
リンクの色は統一し、マウスONで色を変えてリンク文字が判るようにしました。
それでも色と文字サイズを指定したいところは指定して、見られるようになりました。
(「マウスONでリンク文字色を変えたい」で質問追加させていただき、こちらでアドバイスを頂いています)
紹介されたURLを見ながら、作成出来ればと思います。
詳しく記載されており、素人の私にも理解が出来そうです。
ご迷惑をおかけしますので、この質問はこれで閉じたいと思います。
No.2
- 回答日時:
new_hanaさん
>・・・・これを消す方法はないものか・・・・・・・・・・
そもそも何をしたいのか分かりません。
最初から問題のページソースを掲載したら分かりやすいのですが。
取り敢えず、ご参考に↓
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<style>
.frame1, .frame2{ width:180px; }
.frame2{ display:flex; }
.frame21, .frame22 { flex:1; padding-left:1em; background:#eee; }
a:hover {
color: skyblue;
font-size: 2em;/*文字サイズ2倍*/
font-weight: bold;
}
</style>
</head>
<body>
<div class="frame1">上部フレーム</div>
<div class="frame2">
<div class="frame21"><a href="">2019/10/13 あいうえお</a></div>
<div class="frame22">下部右フレーム</div>
</div>
</body>
</html>
有り難うございます。
ご指摘の様に聞きたいことが漠然としていて、アドバイスするにもどうすれば良いのかという事で申し訳ありませんでした。
頂いたソースを確認しました。
見た目はこの様なものです。
この左下に表示される文字数が幅に収まらないので、下の行へ折り返すことになり、頭そろえでスペ-ースを入れましたので、それがアンダーラインも付いてしまうことになりました。
それを何とか出来ないものかと思った次第です。
申し訳ありませんが、追加で質問させていただきそちらで大まか解決できました。
しかし文字色のコントロールが上手くいかず、マウスONの場所は色を統一して対応するしか無いと思っています。
(メニューのリンクに、意味を持たせて二種類にしていました)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) ワードプレスで、左寄せ画像と文字を横並びにせず、画像の下に文字を表示される方法を教えてください 1 2022/04/24 11:06
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Word(ワード) Wordの表中の文字を選択した時の白黒反転の違い 1 2023/04/25 12:13
- 教育学 エクセルで小数点以下を四捨五入について教えてください。 2 2023/04/05 17:33
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML フレーム スクロール
-
NOFRAMEタグについて
-
<HR>タグでつくる四角形につい...
-
ハイパーリンクに下線を表示す...
-
IEでストリートビューのページ...
-
-css- ページオープン時やリロ...
-
iframe内でのスクロールについて
-
複数のiframeの読み込みについて
-
yahooみたいに、画面を中央に寄...
-
<a href="#" …>の意味を教えて...
-
★★★メタ文字変換後、swfのロー...
-
jQuery処理は、ページを読み込...
-
JavaScriptについてご教授願い...
-
ブロックされるのかされないのか?
-
ホームページの一部の表示をラ...
-
lightbox2 表示の不具合
-
HTML初心者です、画像表示でき...
-
オブジェクトを指定してくださ...
-
JavaScriptを有効にする文言を...
-
javascriptとApacheの設定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
別ページのページ内リンクでの...
-
ハイパーリンクに下線を表示す...
-
横スクロールを右から左へ・・・
-
テキストボックス内にハイパー...
-
WEB上で編集できない、スク...
-
(Javascript)印刷するファイル...
-
"mailtoでメールの【氏名】【性...
-
ページの読み込みが完了してか...
-
bodyタグって2重にしようするこ...
-
bodyにwidth:100%をつける理由は?
-
複数のiframeの読み込みについて
-
-css- ページオープン時やリロ...
-
ページによって表示位置がずれ...
-
iframeのsrcにページ内リンク(...
-
自分のサイトに二つのリンク元...
-
HPをクリック時に指定箇所に飛ばす
-
スクロールバーのスクロール量...
-
インラインフレーム内のスクロ...
-
リンクをクリックすると文字が...
おすすめ情報
文字を折り返して、スペースで位置調整しますので、このスペースが文字間の為、方法が無いのかも知れませんね。
例
「あいう えお」の、「う え」の中間のスペースにもアンダーラインが入るのでこれを消したいという相談です。
文字に色を付けて、アンダーラインを止めた方が良いのかな?
アンダーライン無しで、
リンク文字「あいう えお」にマウスを重ねると、色が変る方法を調べましたが翌解りませんn。
下記情報がありましたので、追記してみましたが・・・
文字として表示されてしまいました。
何が足りないのでしょうか?
a:hover {
color: skyblue;
font-size: 2em;/*文字サイズ2倍*/
font-weight: bold;
}