ビューをスライドレスポンシブにする-インラインスタイルを削除する


6

ビューのスライドショーから高さと幅のインラインハードコードスタイルを削除するにはどうすればよいですか?ビューのスライドショーをレスポンシブにしようとしています。

私は自分のスライドショーを応答可能にしようとしています(現時点ではflexsliderや他のスライドショーモジュールには興味がありません)。


それに関して非常に長い曲がりくねったスレッドがあります。drupal.org/node/1317510正直なところ、丸い穴に四角いペグをはめ込むようなものです。Flexsliderは本当に最高のソリューションであり、ビュースライドショーで実行できるすべてのことを実行できます。上記のスレッドの提案を使用して、通常のビューのスライドショーを応答可能にしたのですが、多くの作業とCSSハッキングでした。
ダニーイングランド人2012

プラス1つはフレックススライダー用です。フレックススライダーにビューのスライドショープラグインが付属していることをご存知ですか?サイクルの代わりにフレックススライダーを選択するだけです。サイクルv1からサイクルv2を使用し、次にフレックススライダーを使用して、非常に少量のcssを変更するだけでスイッチを作成できました。
rooby 2013年

回答:


9

上記のflexsliderモジュールはモバイルスワイプをサポートしているので素晴らしいようですが、サポートされているのは画像のみで、オーバーレイのサポート付きのビデオスライドショーが必要でした。だから私は私のテーマのCSSファイルに次の行を追加しました、そしてそれはうまくいきました:

.views_slideshow_cycle_main { width: 100%; }
.views_slideshow_cycle_main .views-slideshow-cycle-main-frame { width: 100% !important; height: auto; }
.views_slideshow_cycle_main .views-slideshow-cycle-main-frame-row { width: 100% !important; height: auto; }
.views_slideshow_cycle_main .field-content { max-width: 100%; width: 100%; }
.views_slideshow_cycle_main .field-content img { max-width: 100%; width: 100%; height: auto; margin: 0; padding: 0; }

SCSSを使用すると、次のように簡単に記述できます。

.views_slideshow_cycle_main {                                                      
  width: 100%;                                                                     
 .views-slideshow-cycle-main-frame {width: 100% !important; height: auto;}         
 .views-slideshow-cycle-main-frame-row {width: 100% !important; height: auto;}     
 .field-content { max-width: 100%; width: 100%;}                                   
 .field-content img { max-width: 100%; width: 100%; height: auto; margin: 0; padding:0;} 
}   

オーバーレイは、views_slideshow_xtra_overlayによって追加されました。

この議論からの転用


フレックススライダーv1 drupalモジュールを使用していて、スライドショーに非常に複雑なコンテンツがあります。画像に限定されるものではありません。-または、スワイプで画像のみがサポートされることを意味しますか?
rooby 2013年

@Druvision ".views_slideshow_cycle_main .views-slideshow-cycle-main-frame"の高さは、ブラウザのサイズを変更すると、ビューのスリーショーに反応しないようです。これを修正する方法はありますか?
CocoSkin 2014

7

より良いオプションは、ビューのスライドショーモジュール自体の「詳細オプション」を使用することです。

次のことを行う必要があります

  1. sites / all / librariesにjson2というディレクトリを作成し、https: //raw.github.com/douglascrockford/JSON-js/master/json2.js をダウンロードして、フォルダーの名前をjson2に変更します。

  2. ビューのFORMATスライドショー設定の下で、「jQuery Cycle Custom Options」をスクロールし、詳細オプションセットの下で、

    height: auto
    width: auto
    containerResize: 0
    slideResize: 0
    fit: 1
  3. スライドウィンドウの高さを最大のスライドに合わせる:オフのままにします

  4. ビューと出来上がりを更新してください!ブラウザウィンドウをドラッグしているときでも、スライドショーは反応します。

参照:ここここ


スライドショーの内容によっては、いくつかの問題が発生する可能性があります。私の経験では、jqueryサイクルバージョン1で100%信頼できる方法を見つけられませんでした。-これらの設定をいくつかのカスタムJavaScriptを追加して使用しても、100%完全なソリューションは得られませんでした。
rooby 2013年

そう、flexslider htmlも短くて甘いです。flexsliderの場合は+1。
ケビンSiji 2013年

こんにちは。この手順を実行する方法がわかりません。スライドウィンドウの高さを最大のスライドに合わせます。オフのままにします。どこ?
cabita 2014年

@cabitaラベル付きのビューのスライドショー設定にチェックボックスがありますMake the slide window height fit the largest slide。オフのままにします。
Kevin Siji、2014

@KevinSijiチェックして、スライドウィンドウの高さを最大のスライドに合わせて、ビューのスライドショーを反応させることができますか。
Jetson John

3

このスレッドには非常に優れたソリューションがあります:https : //drupal.org/node/1510526

推奨されるcssを使用すると、非常に優れたスライドショーが得られます。JavaScriptを使用すると、少し先に進むことができます。私が抱えている唯一の問題は、ブラウザーを狭めたり広げたりすると、スライドショーの高さが垂直方向のブラウザー周辺で問題を引き起こすことです。メディアクエリのcssファイルごとに異なるmax-height css値を使用して、これを軽減できます。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.