アプリ版:「スタンプのみでお礼する」機能のリリースについて

今まで、正常に表示されていた分数が、編集中突然、分数の横棒がブラウザの画面いっぱいに伸びてしまいました。
PCを再起動かけても、PCを変えても、ブラウザを変えても、編集アプリをVSCodeからBracketsに変えても、ブラウザのキャッシュもクリヤしても症状は改善されませんでした。画像は添付してあります。よろしくお願いします。htmlとcssはコピペして使っています。

html
<span class="fraction">
<span class="fraction_n">&nbsp1&nbsp</span>
<span class="fraction_d">&nbsp2&nbsp</span>
</span>


css
.fraction{
display: inline-block;
vertical-align: middle;
text-align: center;
}
.fraction_n{
display: block;
}
.fraction_d{
display: block;
}
.fraction_n{
border-bottom: 1px solid #333;
}

「分数が正常に表示されない。」の質問画像

質問者からの補足コメント

  • 私のcssのコードはhtmlにstyleタグで組み込んでいます。ですから、<style>から</style>の間だけを見れば良いですよね。打ち消すような指定はしていないのですが…。でも、fujillinさんのおっしゃるとおり、考えられるのはそこですよね。もうすこし、見てみます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2022/05/09 21:03

A 回答 (6件)

No4です。



>>inline-blockが取り消し線で消されてはいませんか?
>消されてはいませんでした。
消されるどころか、直下のCSSは適用すらされていないことがわかるはずです。
(開発ツールの使い方も覚えましょう)

>何故かわかりませんが、この行を削除してみたところ目的とする表示に
>戻りました。重ねて、何故なんでしょう。
CSS内でコメントを行う場合は、/* ~ */ を用いてください。
最初にご提示の状態ではCSSが無視されているはずです。
(その結果、上記の「適用すらされていない」となります)
https://developer.mozilla.org/ja/docs/Web/CSS/Co …


ついでに、No4の最後に書いた、HTMLを簡略化する例を以下に記しておきます。
(margin、padding はお好み合わせて、調整・削除などご自由に)

<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<style>
.fraction{
display: inline-block;
vertical-align: middle;
text-align: center;
margin: 0 0.2em;
}
.fraction span{ display: block; padding: 0 0.4em; }
.fraction span:first-child { border-bottom: 1px solid #333; }
</style>

</head>
<body>
<p>あいうえお<span class="fraction">
<span>1</span><span>2</span>
</span>かきくけこ<span class="fraction">
<span>11</span><span>2222</span>
</span>さしすせそ
</p>
</body>
</html>
    • good
    • 0
この回答へのお礼

非常にお騒がせしました。htmlに埋め込まれた<style></style>内でも
/* ~ */を使うのですね。勉強になりました。ありがとうございます。
>消されてはいませんでした。
>消されるどころか、直下のCSSは適用すらされていないことがわかるはずです。
>(開発ツールの使い方も覚えましょう)
そうします。それと、提供されたコード使わせていただきます。本当に、ありがとうございました。

お礼日時:2022/05/10 17:04
    • good
    • 0
この回答へのお礼

MathJax、気持ちがくすぐられてしまいました。落ち着いたらトライしてみたいと思います。参考文献ありがとうございます。

お礼日時:2022/05/10 14:53

No2です。



>「F12の開発ツール」こんなのあったんですね。
「あった」でお終いではなく、ちゃんと利用しましょう。
そちらでご覧になれば、問題となっているfractionの要素のCSSを確認してみると、inline-blockが取り消し線で消されてはいませんか?
その代わりに、blockが有効になっていると想像しますけれど、それはどこで設定されていますか?
それがわかれば、原因となっている箇所がわかるはずと思いますけれど??


>左右のスペースはいらないなと思い、削除したら症状が起きてしまったのです。
>慌てて元に復帰しましたが、事既に遅しでした。
「事既に遅し」なんてことはありません。
元に戻せば戻るはずです。
そもそも、その設定を消したのが原因ではないはずですけれど・・

どうやら、CSSの意味をきちんと理解なさった方が宜しいように思われます。
以下は、微妙な違いなので分かりにくいかもしれませんが、比較をしてみました。
(数値等を大きくしてみれば、効果の意味がわかりやすくなると思います)

「&nbsp」は文字実態参照でスペース一つ分を意味します。
分数の横線を数字よりも少し伸ばして表示したいという意味と推測します。
スペースを省いてみたものが(2)です。
((2)以降のソースは全て &nbsp は無しにしてあります)

marginは分数とその前後の文字との間に少しだけスペースをとりたいとして付与しているものと推測します。
marginを与えたものが(3)です。
(補足の説明通りにspanにそれぞれmarginを設定していますが、親のfractionに設定する方がわかりやすいと思います)

スペースや &nbsp ではなく、paddingで同様の効果を得る例が(4)です。

(3)(4)を同時に設定したものが(5)です。


<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.fraction{
display: inline-block;
vertical-align: middle;
text-align: center;
}
.fraction_n, .fraction_d{ display: block; }
.fraction_n{ border-bottom: 1px solid #333; }

.m .fraction span{ margin: 0 5px; }
.p .fraction span{ padding: 0 8px; }
</style>

</head>
<body>
<p>(1)ご提示のソース:あいうえお
<span class="fraction">
<span class="fraction_n">&nbsp1&nbsp</span>
<span class="fraction_d">&nbsp2&nbsp</span>
</span>かきくけこ
<span class="fraction">
<span class="fraction_n">&nbsp11&nbsp</span>
<span class="fraction_d">&nbsp2222&nbsp</span>
</span>さしすせそ
</p>

<p>(2)スペースなし:あいうえお
<span class="fraction">
<span class="fraction_n">1</span>
<span class="fraction_d">2</span>
</span>かきくけこ
<span class="fraction">
<span class="fraction_n">11</span>
<span class="fraction_d">2222</span>
</span>さしすせそ</p>

<p class="m">(3)marginあり:あいうえお
<span class="fraction">
<span class="fraction_n">1</span>
<span class="fraction_d">2</span>
</span>かきくけこ
<span class="fraction">
<span class="fraction_n">11</span>
<span class="fraction_d">2222</span>
</span>さしすせそ
</p>

<p class="p">(4)paddingに代える:あいうえお
<span class="fraction">
<span class="fraction_n">1</span>
<span class="fraction_d">2</span>
</span>かきくけこ
<span class="fraction">
<span class="fraction_n">11</span>
<span class="fraction_d">2222</span>
</span>さしすせそ</p>

<p class="p m">(5)padding,marginあり:あいうえお
<span class="fraction">
<span class="fraction_n">1</span>
<span class="fraction_d">2</span>
</span>かきくけこ
<span class="fraction">
<span class="fraction_n">11</span>
<span class="fraction_d">2222</span>
</span>さしすせそ
</p>
</body>
</html>


※ class="fraction_n" や class="fraction_d" の設定がソース上うるさいので、このクラス設定は無くしてしまい、CSS側で選別するようにした方が全体にスッキリするものと思います。
 <span class="fraction">
  <span>1</span><span>2</span>
 </span>
のような記述にすることが可能ですし、視認性も上がるのではと思います。
(いろいろ書くとわからなくなると思い、こちらは省略しますが・・)
    • good
    • 0
この回答へのお礼

いろいろとありがとうございます。もう少し勉強して使いこなせるようにしたいと思います。
>inline-blockが取り消し線で消されてはいませんか?
消されてはいませんでした。また、実はですが、
.fraction{
display: inline-block;
vertical-align: middle;
text-align: center;
}
の前に、
<!--分数スタイル-->
のコメントを書いていて、何故かわかりませんが、この行を削除してみたところ目的とする表示に戻りました。重ねて、何故なんでしょう。

お礼日時:2022/05/10 15:00

nebokken さん


 ・・・・・ブラウザの画面いっぱいに伸びてしまいました・・・・・・・

直接確認は出来ませんが、少なくとも、
&nbsp は の間違いではないですか。

ご参考に↓
https://www.tohoho-web.com/html/char.htm

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<style>
.fraction{
display: inline-block;
vertical-align: middle;
text-align: center;
}
.fraction_n{
display: block;
}
.fraction_d{
display: block;
}
.fraction_n{
border-bottom: 1px solid #333;
}
</style>
</head>
<body>
<span class="fraction">
<span class="fraction_n">1</span>
<span class="fraction_d">2</span>
</span>
</body>
</html>
    • good
    • 0
この回答へのお礼

おっしゃるとおりでした。でも、&nbspでも反映されているのにびっくりしています。直します。

お礼日時:2022/05/10 05:20

No1です。



>打ち消すような指定はしていないのですが…。
ブラウザで表示した状態で、開発ツール(大抵のブラウザではF12キー)で見てみると、どのように指定が反映されて、どのように打ち消されているかがわかると思います。

あるいは、
>編集中突然、分数の横棒がブラウザの画面いっぱいに伸びてしまいました。
とのことですので、最後の方に行った部分から順に元に戻してみれば、どこで影響が出ているのかがわかると思います。
    • good
    • 0
この回答へのお礼

度々ありがとうございます。「F12の開発ツール」こんなのあったんですね。Bracketsでのブラウザ表示が便利なのになあと思っていたところでした。
本題の件ですが、実はstyleの
.fraction_n{
border-bottom: 1px solid #333;
の下に
span{
margin-left: 5px;
margin-right: 5px;
}
が書かれてあって、左右のスペースはいらないなと思い、削除したら症状が起きてしまったのです。慌てて元に復帰しましたが、事既に遅しでした。
自分としては、(初心者なのですが)分数が21個表示の長いドキュメントなので途方に暮れ、ご質問させていただきました。長いドキュメントですが、最初からコピペしながら作り直した方が良いでしょうかね。

お礼日時:2022/05/10 05:36

こんばんは



想像するところ、ご提示のCSS以外のどこかで、

>.fraction{ display: inline-block; }
を打ち消すような指定を付け加えていませんか?

そちらを削除することで、元に戻るのではないかと思いますが・・
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!