CSS/DHTMLバグ辞典スレッド【第5版】 (627レス)
上下前次1-新
1(8): 2006/04/08(土)20:05 ID:FsSaRr1T(1/2) AAS
CSS(とDHTML)のバグ報告、お待ちしてます。
※報告の際はOS・ブラウザ名とそのヴァージョンを明記して下さい。
再現条件をつきとめるため、必要に応じてソースを出して下さい。
第4版レス314までのバグは下記に登録済み(前々366◆E3CSS.J95U/◆B7TCOttEさんに感謝)。
【CSSバグリスト@CSSバグ辞典スレッド】
外部リンク[html]:cssbug.at.infoseek.co.jp
(もうずっと更新休止、誰かwikiででも引き継がないか?)
プロパティ別にバグを調べたいときは――
・K@tsukun's PAGE! > CSS対応状況表 (の各プロパティ「関連バグ情報」)
外部リンク[html]:hp.vector.co.jp
・CSSプロパティ別トラブルの索引
外部リンク[htm]:dhr.at.infoseek.co.jp
【バグ説明・回避法などを載せた参考サイトへのリンク】
外部リンク[html]:cssbug.at.infoseek.co.jp
【過去ログ】
1 2chスレ:hp
2 2chスレ:hp
3 外部リンク[html]:2ch-library.com
4 2chスレ:hp
【関聯スレッド】
・/* CSS・スタイルシート質問スレッド*/
外部リンク:web2ch.s31.xrea.com
・代替スタイルシートに萌え〜
2chスレ:hp
・独自拡張、草案段階のCSSについて語れ
2chスレ:hp
その他あれば、>>2-5あたりで。
598(1): 2019/01/22(火)20:51 ID:??? AAS
>>596
外部リンク:www.tomotanuki.com
「指定するフォント名は現段階ではブラウザによってまちまちです。
ChromeとOperaは「游ゴシック」「Yu Gothic」でも標準(Regular)を指定できたりします。
ですが、Firefoxでは「Yu Gothic Medium」と英語名+ウェイトで指定しなければなりません。
これは標準(Regular)でも同じで標準(Regular)サイズをFirefoxで指定したい場合は「Yu Gothic」ではなく「Yu Gothic Regular」と指定しなければ表示されません
(ちなみに「Yu Gothic Regular」で設定すると、ChromeとOperaとIE11では表示されません)。」
「Chromeの現バージョン ( 58.0.3029.110 (64-bit) ) で英語フォント名(Yu Gothic Medium)を認識しないようです。」
Hiragino Sansフォントウェイトのcss書き方まとめ
599: 2019/01/22(火)20:53 ID:??? AAS
>>598
Hiragino Sansフォントウェイトのcss書き方まとめ
外部リンク:joppot.info
外部リンク:hiragino.joppot.info
600(1): 2019/01/22(火)21:20 ID:??? AAS
>>596・>>597
>"Yu Mincho Regular" IE× FF○ GC×
>"YuMincho-Regular" IE○ FF○ GC×
>"Yu Mincho" IE○ FF× GC○
ChromeはPostScript Nameを認識できないので、Font Family Nameで指定しなければならない。
外部リンク:w3g.jp
外部リンク:speakerdeck.com
601(1): 2019/01/22(火)22:08 ID:??? AAS
>>600
しかし"MS 明朝"のPostScript名は"MS-Mincho"らしいが、
Cf.「フォントのPostScript名, フルネーム, ファミリーの日本語名と英語名」外部リンク[html]:taken.jp
@font-face {font-family: "f01"; src: local("MS-Mincho");}
と指定しても、IE・Firefox・GoogleChromeどれも表示に反映されない。
602(1): 2019/01/23(水)11:38 ID:??? AAS
>>601は誤り。"MS-Mincho"でIE・Firefoxに有効だった。
>>597
>"Noto Serif CJK JP" IE○ FF○ GC○
>"NotoSerifCJKjp-Regular" IE○ FF○ GC×
これがRegularでない他のウェイトだと、IEのみが認識するイレギュラーな結果になる。
"Noto Serif CJK JP Bold" IE○ FF× GC×
"NotoSerifCJKjp-Bold" IE○ FF× GC×
同じ形式で下記ではどのブラウザも読み込まないのに。
"Noto Serif CJK JP Regular" IE× FF× GC×
ダウンロード 外部リンク:www.google.com
Cf. 外部リンク:qiita.com
Google Fontsの'Noto Serif JP'も同様かね?
外部リンク:fonts.google.com
603: 2019/01/23(水)14:03 ID:??? AAS
>>596・>>597を整理して纏め直すと――
@face-fontのsrc記述子でlocal()構文を指定する場合
・使用可能なフォント名は、英文名のみ。
フォントの日本語名はIE・Firefox無効、Google Chromeしか認識しない。
・PostScript名はChrome不可、全く効かない。
・名にウェイトが含まれると、PostScript NameであれFull Nameであれ、Chrome不可。
Full NameはIEだとフォントのウェイト(Regular等)によっては不可。
Full NameはFirefoxだとフォント(ヒラギノ・小塚・Noto Serif CJK JP等)によっては駄目。
・ウェイトの含まれない英語フォント・ファミリー名だけにすると、Chromeに有効。
だがIE・FFで読み込まれないフォントもある(ヒラギノや小塚フォント等。游フォントはFFのみ不可)。
対策としては――
src: local("PostScript名"), /*IE・Firefox適用、Chrome無効*/
local("Weight抜きのFont Family名")/*Chrome向け*/;
としておくしかないか。
EdgeやMacやスマホは確認できないので、できる人よろしく。
604(1): 2019/01/28(月)03:11 ID:??? AAS
バグではなく未対応だかららしいけど、混乱するので。
font-feature-settingsプロパティーは、ほぼ全てのブラウザが対応する。
外部リンク:caniuse.com
外部リンク:developer.mozilla.org
しかし。
font-feature-settingsを@font-face { }内で使用すると、Firefoxでしか有効でない罠。
外部リンク:developer.mozilla.org
605(1): 2019/01/29(火)11:53 ID:??? AAS
他のブラウザではfont-feature-settingsによる字詰めが有効なのに、IE11だけ無効。
font-familyに游明朝・游ゴシックを指定すると発症。
以下で再現。
.yu {font-family:"游明朝", YuMincho;}
<div class="yu" style="font-feature-settings : 'palt';">
くし」、「ト。りょうった
</div>
Firefox64、GoogleChrome71ではちゃんと字詰めされる。
IEでも、プロポーショナルメトリクス情報を持つ他のフォント(#)にするとpaltが効いたので、これはバグと言ってよいかと。
# "ヒラギノ明朝 ProN W3"・"小塚明朝 Pr6N'"・"IPAmj明朝"・"Source Han Sans"等
Cf. 外部リンク[html]:helpx.adobe.com
606: 2019/01/29(火)13:02 ID:??? AAS
>>605
游明朝のカーニング設定がうまくいかない話
外部リンク:qiita.com
Mac (10.12.6)
■ Chrome(64)、Safari(11)、Firefox(58)
Boldとpknaを組み合わせると、カーニングが無効。
Windows(10)
■ IE11
Boldとpaltを組み合わせると、カーニングが無効。
Normalとpaltを組み合わせると、カーニングが無効。
外部リンク:bulan.co
Mac OS SierraのChromeで游明朝体の文字詰めが効かなかったり
607: 2019/01/29(火)13:10 ID:??? AAS
>>604
ここ↓、その@face-font内font-feature-settingsで嵌ってた。
「CSSで行頭の約物を半角にする」
外部リンク[html]:dskd.jp
608(2): 2019/02/04(月)17:06 ID:??? AAS
【Firefox65/GoogleChrome71 バグ】
IE以外で、JIS外字を表示させるとfont-familyプロパティーで総称ファミリー名serifが効かなくなる。
Win8.1で確認。
p {font-family: "游明朝",serif;}
</p>「专」:ユニコード数値文字参照(16進数)→「&;#x4E13;」</p>
鉤括弧「 」内の外字部分だけゴシック体(sans-serif)になる。
FiefoxやChromeは、初期設定で明朝体 (Serif)は游明朝が既定。
それで游明朝に無い外字は他のフォントで表示されるため、ゴシックになると推定される。
しかしserifが無効になるのは指定に反する。
IE11だと他のフォントでも指定通りserifのフォントを選んでくれる(SimSun等の中国語フォントか?)。
総称ファミリーをsans-serifにすればIEでも全てゴシック体表示になったから、IEは正しく動作してる。
ついでに、総称ファミリーをcursiveやfantasyだけにすると――
p {font-family: cursive;}
IEでは、本文がゴシック体だが外字部分は明朝体のまま。
Firefox・Chromeでは、全てゴシック体。但しChromeでは半角英数字に変化あり。
しっかし、IEの方が正しい挙動をするのって珍しくないか。
大抵はIEが足を引っ張るのに。
Cf. 外部リンク[html]:pentan.info
609: 2019/02/04(月)17:09 ID:??? AAS
>>608
× 「&;#x4E13;」 &の後の「;」が不要。
○ 「专」
610: 2019/02/10(日)18:52 ID:??? AAS
>>608
下記ソースで再テスト。
p {font-family:Tahoma,sans-serif;}
.f01 {font-family:"游明朝";}
<p>「专」:ユニコード数値文字参照(16進数)→「专」</p>
<p class="f01">「专」:ユニコード数値文字参照(16進数)→「专」</p>
IE11ではp.f01で「 」内がsans-serifを継承せずserif(游明朝ではない何かの明朝体)になった。
やはりIEは所詮IEで、対応に問題があるみたい。
Firefox65・GoogleChrome72では「 」内はsans-serif(ゴシック体)のまま。
611: 2019/02/15(金)18:30 ID:??? AAS
>>602
>これがRegularでない他のウェイトだと、IEのみが認識するイレギュラーな結果になる。
>"Noto Serif CJK JP Bold" IE○ FF× GC×
>"NotoSerifCJKjp-Bold" IE○ FF× GC×
再現しない。下記の通りになった。
"Noto Serif CJK JP Bold" IE○ FF○ GC×
"NotoSerifCJKjp-Bold" IE○ FF○ GC×
Firefoxで反映しなかったのは、フォントキャッシュとかの問題では?
612: 2019/02/20(水)18:38 ID:??? AAS
>>585
>しかしこれがヒラギノだと、
> font-family: "ヒラギノ明朝 ProN W6","HiraMinProN-W6";
>みたいに、ウェイトまでfont-family指定に入れられるんだけど。
否。ヒラギノでもフォント名にウェイト入れるとfont-family指定が反映されない。
Firefox65、GoogleChrome72、Windows8.1にて表示確認。
font-family: "Hiragino Mincho ProN W6"; /*無効*/
font-family: "ヒラギノ明朝 ProN W6"; /*無効*/
font-family: HiraMinProN-W6; /*無効*/
font-family: "Hiragino Mincho ProN","ヒラギノ明朝 ProN"; /*有効*/
IE11では日本語フォント名の"ヒラギノ明朝 ProN W6"と"ヒラギノ明朝 ProN"だけ有効だった。
613: 2019/04/19(金)18:42 ID:??? AAS
>>551-553のwhite-space:nowrap;バグ、最新のChrome73になってもまだ直ってないのな。
WebKitのバグってどこに報告すれば修正してくれんのかね?
614(1): 2019/06/10(月)21:00 ID:??? AAS
>>583
>フォント指定でヒラギノや游明朝・ゴシックや小塚明朝・ゴシックにするだけで文字の位置が上にズレ
>先頭に欧文フォント指定すればバグ回避できるけど、半角英数字は当然欧文フォントで表示され不統一に。
このIEバグは、ただ先頭に欧文フォントを指定しても、不具合は解消しない。同時に子要素の行間を小さく指定しないと。
下記ソースで確認。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>OpenTypeフォントのIE表示</title>
<style type="text/css">
.otf {background:#ff0; font-size:6em;/*視認しやくすくするため*/
font-family:"Times New Roman",'Kozuka Gothic Pr6N', 'Yu Gothic', 'Noto Sans Japanese', 'Source Han Sans';}
.otf * {border:1px solid red;/*視認しやすくするため*/
line-height:0.1;
white-space:nowrap;/*折り返すと行が重なるので*/}
</style>
</head>
<body>
<div class="otf"><span>壹貳</span>12<a>參肆</a>34</div>
</body></html>
line-heightの値は1.0より小さい方がよいみたい。
div.otf直下の和文フォント適用部分をインライン要素タグ(<del><ins>も可)で括れば、なぜか、文字が上下にはみ出る不具合はなくなる。
欧文フォント適用部分(半角英数字や記号類)は何も括らず剥き出しで直下に置いてよし。
しかし、divの中に<p>56</p>とかブロックレベル要素を入れるとまた隙間が空く。
.otf p * {line-height:10%;} と指定してから
<div class="otf"><p><a>56伍陸</a></p></div>
とインライン要素タグで括って中に半角英数や記号以外の日本語文字を入れると、直る。
615: 2019/06/11(火)03:14 ID:??? AAS
>>614
>.otf p * {line-height:10%;} と指定してから
これは不要だな。既に、全称セレクター*で".otf p * "に対しline-height:10%;を指定済みだから。
必要なのは、第一に、p直下の日本語文字列をインライン要素としてタグ附けすること。
それと、表示させるフォントによって{line-heightの値は上下して調整ねばならず、1.0より大きい方がいいことも。
でもボックス下部に余白が空くから、.otf , .otf * {height:1.2em;}とか、.otf p {margin:0;}とか、追記すべし。
IE11のバグまとめ > 特定のフォントでテキストの下に隙間が空く。
外部リンク:qiita.com
「line-heightを限りなく0に近い数値にすることでズレを回避できますが、改行した瞬間に文字が重なって終わるので現実的な解決策ではありません。」
↑これも、line-height:1%;とかやっても利き目なかったけど、font-family先頭の欧文フォント指定と掛け合せた上で2バイト文字列のどれかを<span> </span>で挟めば、行高設定次第でずれ解消が有効になるはず。
616: 2019/06/11(火)03:50 ID:??? AAS
>>560 - >>565
Windows8.1+IE11
・「font-family:"欧文フォント", "和文フォント";」とすると、和文フォントの指定が一切無視される。
↑これ、全く再現しないね。
font-family:Arial, 'MS Mincho';
とか
font-family:Arial, 'Yu Mincho';
とかで試したけど、ちゃんと日本語の部分は日本語フォントで描画される。
総称ファミリー名のserifを末尾に指定するかどうかも関係無し。
なんか、間違ったのか?
617(1): 2019/06/15(土)08:07 ID:??? AAS
これはCSSのバグなのかどうか……。
InternetExplorer11/Windows8.1で確認。
・フォント・サイズをその要素の横幅以上に拡大すると、IVS(=基底文字+VS)のVSが文字化けする。
IVS(異体字シークエンス)は、「通常の文字と同様、数値文字参照を使って書くこともできる。フォントやOS、アプリケーションが対応していない場合には、通常の基底文字のグリフが単に表示される(ことが望まれるが、VSが豆腐などで表示されてしまうことが多い)。」
外部リンク:shiromoji.hatenablog.jp
ところが、別に「・」や「□」(豆腐)に化けてなかった文字も、フォント・サイズを一定以上に大きくすると四角になることがある。
下記一行のソースで再現できた。
<div style="font-size:51px; width:50px;">逸󠄁/齋󠄁</div>
どうもIE11はIVSを「基底文字+VS」で2文字と計算するらしく、
それで要素の横幅がフォント・サイズ1文字分(1em)より小さいと、1文字はみ出たVSの分だけ文字化けして表示され、基底文字の下に流れて配置される。
width指定で要素の幅がfont-sizeより広く取ってあっても、box-sizing: content-box;(既定)の場合にpaddingとかborderを入れると、この不具合が発現したりする。
floatでwidtj指定を入れる場合にも、注意↓。
実例 外部リンク[html]:wakufactory.jp
Firefox67やChrome75では再現しなかった。
ただ上記一行のソースは、Firefoxでは、
逸󠄁/
齋󠄁
と2行に表示され、
逸󠄁
/
齋󠄁
と3行に表示された。
「/」を「―」「■」等の記号に変更しても同様。
618: 2019/06/15(土)08:10 ID:??? AAS
>>617 追記修正
<div style="font-size:51px; width:50px;">逸󠄁/齋󠄁</div>
ただ上記一行のソースは、Firefoxでは、
逸󠄁/
齋󠄁
と2行に表示され、他方、Chromeでは、
逸󠄁
/
齋󠄁
と3行に表示された。
「/」を「―」「■」等の記号に変更しても同様。
619(1): 2019/06/22(土)07:25 ID:??? AAS
font-familyプロパティーの値でインストールされてないフォントのみを指定された場合、継承値を反映しなくなる難があるが、
値の末尾に総称ファミリー名の代りにinheritを指定すると、
Chrome・Firefoxでは継承値で表示されて問題は解消するものの、Internet Explorer 11では無効のまま。
環境はWindows8.1で確認。
body {font-family: YuMincho, '游明朝', serif;}
<p>例1:フリーの「<span style="font-family: 'Asebi Mincho Light','馬酔木明朝'">馬酔木明朝</span>」ってフォントがある。</p>
<p>例2:フリーの「<span style="font-family: 'Asebi Mincho Light','馬酔木明朝', inherit;">馬酔木明朝</span>」ってフォントがある。</p>
<p>例3:フリーの「<span style="font-family: 'Asebi Mincho Light','馬酔木明朝', inherit, serif;">馬酔木明朝</span>」ってフォントがある。</p>
上記ソースで、本文は游明朝(それが無ければ他の明朝体)になるが、例1の"馬酔木明朝"の文字列はゴシック体になった。
例2でスタイル設定値にinheritを足すと、Chrome75とFirefox67では游明朝になったがIE11ではゴシック体のまま。
例3で値の末尾に更に総称ファミリー名serifを追記すると、IE11だけ游明朝でなく'MS 明朝'になった。
但し、CSS仕様書を見ると、font-familyプロパティーにおけるグローバル値inheritは、フォントファミリー名や総称ファミリー名とは併記できないらしい。
Cf.「Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification 日本語訳」
15.3 フォントファミリー:'font-family'プロパティ
外部リンク[html]:momdo.github.io
ならば厳密にはスタイルシートのバグではなくてブラウザーごとの仕様なのか?
あと、「馬酔木明朝」は下記で無料配布。
外部リンク:metasta.github.io
620(1): 2019/06/22(土)08:24 ID:??? AAS
>>619
>値の末尾に総称ファミリー名の代りにinheritを指定すると、
>Chrome・Firefoxでは継承値で表示されて問題は解消する
これは指定したinheritの値が有効になったってよりも、
inheritとフォント・ファミリー名との両方を値に記すこと自体が不正で無効(invalid)な書き方だから、
font-family指定そのものが無効になって、親要素bodyへの指定だけが有効になりその値を継承した
――と解釈される。
その証拠にFirefoxでは、body {'MS PMincho'}とかプロポーショナル・フォントを指定した上で
<p>例4:フリーの「<span style="font-family: 'Asebi Mincho Light','馬酔木明朝', inherit, monospace;">馬酔木明朝</span>」ってフォントがある。</p>
<p>例5:フリーの「<span style="font-family: 'Asebi Mincho Light','馬酔木明朝', monospace, inherit;">馬酔木明朝</span>」ってフォントがある。</p>
とか総称フォント名をmonospaceにしても、等幅フォントで表示されなかったし、
<p>例6:Win8.1以降標準装備の「<span style="font-family: YuMincho,'游明朝','Yu Mincho', inherit;">游明朝</span>」ってフォントがある。</p>
とか、インストール済みのフォントファミリー名を指定しても無効になった。
IEは、値の不正な記述の仕方(「不正な値」の指定ではない)でもプロパティーそのものは無効にならない点では、バグである。
621: 2019/06/22(土)08:32 ID:??? AAS
>>620修正
>body {'MS PMincho'}
body {font-family: 'MS PMincho';}
622(3): 2022/12/16(金)23:35 ID:??? AAS
>>551
>>551-553 報告のChrome30でのCSSバグは
マイナー極まるブラウザ、Falkon Version 3.1.0 でも再現する。
hrtps://falkon.org
2022年1月に出たヴァージョン3.2.0が最新だが、Windows向けには3.1.0までしか配布されてないので未見。
ウィキペディア曰く「Qt WebEngineから提供されるChromiumエンジンを使用」ってことだけど、
つまりBlinkに移行する以前のChromeに近いのか? FalkonはWebkit系なのか?
するとWebkitの親玉Safariでも、同じバグが起きてるのかしらん。
「AppleはiOS上で動作するブラウザについて、たとえFirefoxやChromeであっても、ブラウザのレンダリングエンジンにはAppleが開発したWebKitを使うことを強制しています」
外部リンク:news.livedoor.com
とすると、iPhoneではSafari以外のブラウザでもWebKit特有の問題が発生するのかも。
623: 2022/12/17(土)00:16 ID:??? AAS
>>622
Falkonのバグ対策(の失敗)について。
>>551の例で実験。
/* WebKit HackでGoogleChrome30とSafari5とOpera15+対策 */
@media screen and (-webkit-min-device-pixel-ratio:0){
.navbar a {white-space:pre-wrap;}
} /* Falkonにも効く。 */
@-moz-document url-prefix() {/* Firefoxで元の指定に戻す */
.navbar a {white-space:nowrap;}
} /* Falkonには無効、ここまでバグ発生せず。 */
/* Chrome39+ハックで新Chromeや新Edgeも元の指定に戻す */
_:lang(x)::-internal-media-controls-overlay-cast-button, .navbar a {
white-space:nowrap;
} /* 新ChromeだけでなくFalkonにも効いてしまった! バグが再生。 */
624: 2022/12/18(日)16:26 ID:??? AAS
>>622
>>551のバグは、Falkon3.1では、下記を追記すると発生しなくなった。
@media screen and (-webkit-min-device-pixel-ratio:0){
.navbar a {display:inline-block;}
}
要は、折返し禁止(white-space:nowrap;)にするa要素をインラインブロックとして扱ったら、まともにレンダリングしてくれるみたい。
上記WebKitハックによるスタイル指定は、GoogleChrome最新版(バージョン: 108.0.5359.125)でも適用されるものの、指定しない時と比べて特に変化は起きない模様。
625: 2022/12/18(日)18:17 ID:EoAW88W9(1) AAS
>>622
CSSではないけど、そもそもFalkonは行中での折返し(改行)をするアルゴリズムが何かヘン。
非表示のゼロ幅スペース(​ U+200B)を挟んでも、そこで折り返してくれない。
HTMLソースで改行してあると、そこがブラウザ表示でも改行できる位置になる。
ちなみにゼロ幅スペースを入れた直後にソースで改行すると、
ChromeやFirefoxと違ってFalkonの表示ではドット一箇分ほどの幅の隙間が空く。ゼロ幅にならない!
<wbr>タグには対応してるから、そっちを使用すればいいのかもしれんが。
626(1): 2022/12/18(日)18:35 ID:??? AAS
>>626
↓こんなソースで比較してみると。
<h1><a href="">■</a>大見出し1</h1>
<h1><a href="">■</a>
大見出し2</h1>
<h1><a href="">■</a>​
大見出し3</h1>
Chrome108/Firefox108での表示
■大見出し1
■ 大見出し2 ←■の後に一文字の三分の一程の幅のスペースが空く。
■大見出し3 ←前行末にゼロ幅スペースがあるとソース改行による空白が打ち消される。
Falkon3.1.0での表示
■大見出し1
■ 大見出し2 ←■の後に一文字の三分の一程の幅のスペースが空く。
■ 大見出し3 ←前行末にゼロ幅スペースがあってもソース改行による空白が打ち消されない。
627: 2023/09/20(水)18:01 ID:??? AAS
正しいことをやりましょう
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.612s*