2017-12-04 8 views
2

これは重複した質問です。overflow-xをautoに変更せずにoverflow-y scrollを行う方法は?

以下のリンクは私が見つけた質問に最も近い答えです。このリンクで

CSS overflow-x: visible; and overflow-y: hidden; causing scrollbar issue

W3C specは言う:

'オーバーフロー-X' と 'オーバーフロー-Y' の計算値は、いくつかのことを除いて、 その指定された値と同じです'visible'と 'visible'の組み合わせは使用できません。 'visible'と ' 'と 'scroll'または 'auto'の組み合わせの場合、 'visible'は 'auto'に設定されます。 'overflow-y'が同じ場合、計算された 'overflow-x'の値と等しい 'overflow'の値は、 です。それ以外の場合は、 'overflow-x'と 'overflow-y'の計算値のペア です。

私が知りたいことは、この新しい解決策があることです。

The problem of mine is in this fiddle.

私は「ブートストラップ」シンプルな鉱山のフィドル中の「サイドバー」クラスを作りました。

overflow-x: visible; 
//overflow-y: scroll; 

私は、CSS部分の '.panel'クラスの 'overflow-y:scroll'をコメントアウトしたことが分かります。

この場合、「ホバー」は機能しますが「スクロール」は機能しません。

コメントをクリアすると、「ホバー」は機能しませんが、「スクロール」はできます。

私が見たいものは、「ホバー」と「スクロール」が一緒に働くことです。

これを修正する方法やアイデアはありますか?

この問題を解決する方法はまだありますか?

答えて

1

コードが機能しています。ブロックに設定した幅が50pxであるため、ホバーが表示されないため、位置を設定してもホバーが表示されます。あなたが同じ幅を望んでいることを知りたいと思っていること、またはデモ目的のために設定したことです。

+0

ありがとうございます。私の質問は私の目的を十分に説明していないと思う。この問題がなぜ投稿されたリンクの最初の回答で発生したのか分かります。答えは、「目に見える」と「スクロール」または「自動」の両方が指定されている場合は、基本的なCSS機能から「可視」が「自動」に設定されているためです。だから私が望むものは、これを解決するもう一つのハックです。 :) –

1

jQueryを使用して、イベントに応じて.panelのオーバーフローを変更することができます。

絶対にあなたはまた、CSSハックの少しを必要とする、

が更新JSfiddleを参照してください。

+0

あなたのソリューションは美しく見えます!しかし、「スクロール」が「.item」をスクロールしようとするとうまくいかないということが1つあります。 –

1

この質問が好きでした。

だから、私はここでフィドルを作成しました:https://jsfiddle.net/n4tvvora/4/

そのあなたは(私が思う)必要なものにかなり近づきます。それがあなたの要件に合っていないかどうか私に教えてください。私たちはそれをより良くすることができます。

コードのハイライト:

.panel:hover ul.list:first-child { 
    position: absolute; 
    display: inline-block; 
    height: 100%; 
    width: auto; 
    overflow-y: auto; 
    overflow-x: hidden; 
} 

.panel ul.list:first-child { 
    display: block; 
} 
+0

あなたの興味に感謝します!私はパネルを拡張せずにスクロールを作りたいです。多分、あなたのフィドルが私の問題を解決するのに役立つかもしれません。私はちょうどあなたから少しヒントを得たと思う。試してみましょう、私はあなたにフィードバックを与えます。ありがとう! –

+0

私は解決策を使ってこの質問への回答を掲載しました。あなたが興味を持っているなら、私の答えのバイブルをチェックしてください。あなたのヒントをありがとう。 :) –

関連する問題