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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

9291閲覧

IE11でposition: absolute;の上下中央表示が上手く表示されない

snof

総合スコア17

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/04/19 13:00

サイト
https://sirinova.com/test2.html

参考画像
イメージ説明
商品名の前の⑥の高さがIE11で高さ中央に表示されません。Chromeとfirefosxは問題ありませんでした。HTMLを弄らずにCSSのみで改善策がありましたらご教授お願いいたします。

<table class="rnk2item"> <tbody> <tr> <th class="ttitle" colspan="2"><span class="tbl_rnk" name="rank_6">6位</span><a href="https://example.com/" target="_blank">商品名</a></th> </tr> <tr> <td class="timg"><img src="<% pageDepth %>img/sample.jpg" /></td> <td class="tdesc"></td> </tr> <tr> <td colspan="2"> </td> </tr> </tbody> </table>
.tbl_rnk { position: absolute; font-family: Lato; font-size: 22px; line-height: 31.5px; text-align: center; position: absolute; top: 50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); left: 3px; width: 44px; height: 44px; border-radius: 50%; border: 6px solid rgba(0,0,0,.2); color: rgba(0,0,0,.3); background-color: #d5d5d5; box-shadow: 0px 0px 0px 3px #d5d5d5; }

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/04/19 13:10

WIDTH,MARGIN,PADDING,BORDER を一つの要素で設定するとブラウザ間で計算の仕方が違うってあれかな
x_x

2018/04/20 03:02

absoluteが二回指定してあるようですが、どこに対するものでしょうか?
x_x

2018/04/20 03:03

いや、ちょっと曖昧か…。relativeはどこかに指定してありますか?
guest

回答3

0

返答がないので勝手に .rnk2item th.ttitle { position: relative; } となっているものとして回答します。
CSS 2.1 においてテーブルセルに対する position: relative; は未定義とされています。
https://www.w3.org/TR/CSS2/visuren.html#propdef-position

これに従い、厳密な解釈をする Firefox は長い間この指定を無視し続けていました。
そのため、テーブルセル中の絶対配置は次のように div やら span やらでセル全体を囲うのが常套手段です(でした)。

HTML

1 <tr> 2 <td><div>hogehoge</div></td> 3 </tr>

ところが、いま手元の Firefox Quantum で確認してみると反映されているではないですか!
おそらくまだ草案段階の CSS Positioned Layout Module Level 3 を取り入れたものと思われます。
https://drafts.csswg.org/css-position-3/#position-property

今回の場合絶対配置にする必要もないのでkszk311さんの言うように外してしまえばいいかと思います。

cf.
http://no1026.com/archives/406

投稿2018/04/20 06:34

x_x

総合スコア13749

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

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

0

ベストアンサー

positionのレイアウトでないとダメでしょうか?
positionをやめて、topなどの関係したスタイルを外し、(.ttitleにかかっているposition: relativeも外し)
transformでの上下中央関係も外し、
display: inline-block;をつけると、どのブラウザでも上下中央になります。

投稿2018/04/19 14:48

編集2018/04/19 15:05
kszk311

総合スコア3404

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

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

0

根本的な解決ではありませんが・・・
IE11も通常は問題が少なく、ほぼ大丈夫でしょうが「あれっ?」って思う時はあります。

その時は「kszk311」さんご提案のように、シンプルに作り直したり、ChromeやFirefoxに合わせて、IEにCSSハック対策するのが、現状ではないでしょうか。

投稿2018/04/20 06:14

yoshinavi

総合スコア3523

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問