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

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

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

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

CSS

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

Q&A

解決済

1回答

5992閲覧

高さの分からない要素にpaddingを指定しるとずれが起こる

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

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

CSS

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

0グッド

0クリップ

投稿2016/06/04 11:03

編集2016/12/17 01:43

解決させたいことは、paddingを付けるとマウスオーバー時にテキストが一瞬ずれてしまいます。
どうしても、padding-topとpadding-bottomが必要なのですが、最初のずれの対処方法はありますでしょうか。

.menu-item-listでhiddenにしている要素にvisibleにさせたときにpaddingなしの時はずれは起こりません。

.menu-item-list { line-height: 30px; opacity: 0; top: 50%; right: 0; left: 0; position: absolute; -webkit-transform: translateY(-50%); transform: translateY(-50%); border-radius: 16px; visibility: hidden; -webkit-transition: opacity,visibility, .75s ease-in-out; transition: opacity,visibility, .75s ease-in-out; padding: 8% 0; } .menu-area-inner:hover .menu-item-list { opacity: 1; visibility:visible; background: rgba(245,247,250,.75); padding: 8% 0; }

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

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

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

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

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

kei344

2016/06/04 11:13

ずれが起こる環境と「ずれ」のスクリーンショットなど追記可能でしょうか。
退会済みユーザー

退会済みユーザー

2016/12/17 01:43 編集

mac os 10.8 chrome ver.49になります。 safari ver.9でも同じ現象です。
guest

回答1

0

ベストアンサー

padding: 8% 0; を削除して擬似要素で上下のパディングを実装するか、.menu-item-list に内包要素を作るのが手早いような気がします。

CSS

1.menu-item-list::before, 2.menu-item-list::after { 3 content: ""; 4 height: 2em; /* ここでは%での指定は出来ない */ 5 display: block; 6 width: 100%; 7} 8```ちなみに元のサイトの状態で、Windows Chrome/IE11で問題なく動作し、Macは確かに再現しました。ちなみにFirefoxでは別の崩れがありましたが、もう過去のブラウザって言うことですね・・・。

投稿2016/06/04 11:54

kei344

総合スコア69398

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

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

退会済みユーザー

退会済みユーザー

2016/06/04 12:05

before,afterで無事解決いたしました。 疑似クラスが思いつかず、誠にありがとうございます。 また、Windows Chrome/IE11のチェックまでありがとうございます。 Firefoxの対応を必須で、今原因を調べておりまして、 display:flexの子itemのmarginが効いておらず、inline-blockを試しているのですが、 解決に至っておりません。。
退会済みユーザー

退会済みユーザー

2016/06/04 12:15

firefoxは、単位%は適用されず、pxですと反映されました。 これは、バグにあたるのでしょうかね? バージョンは、Fire fox 46.0.1 のMacです。
kei344

2016/06/04 14:10

単位%が効かないのは要素をWrapしている要素のHeightが確定していないからだと思われます。要素サイズの変わる要素を基準に単位%を使うとFirefoxに限らずそういうことが多々あります。 Flexboxを使っているなら縦方向も均等配置が出来たと思うので、それを試されてはいかがでしょうか。 【CSS3のFlexboxを基本から理解して、使い倒そう! | 株式会社LIG】 http://liginc.co.jp/web/html-css/css/21024
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問