4

Magnific Popups ajax popup を使用して、Instagram のようなポップアップ エクスペリエンスを作成しています (左側の画像、右側のコメントなど)。左右のコンテンツボックスを常に同じ高さにする方法を見つけようとしています。右側の画像が大きすぎる場合は、反応する必要があるため、それに応じて div に収まります。また、ブラウザー全体が (おそらくモバイル デバイス上で) 小さくなると、画像が上部に表示され、コンテンツが下部に表示されます。

画像とコンテンツは次のようにフローティングされます。

.image_container, .content {
    width: 50%;
    float: left;
}

そして、メディアクエリを使用して画面サイズを縮小すると、フロートがクリアされます。

私が説明しようとしていることを理解するのに役立つように、jsfiddle を作成しました。

jsフィドル

「開く」をクリックして iframe のサイズを変更すると、探している効果が表示されます。

では、ビュー コンテナーのサイズを設定し、左右のコンテンツ領域を常に同じ高さにするにはどうすればよいでしょうか? 単純に例を見るだけで、少しおかしいことがわかります。

編集

また、画像を垂直方向の中央に配置しようとしましたが、それも難しいようです。cssにテーブルセルを表示させようとしましvertical-align: middleたが、うまくいきませんでした。

このソリューションは、最新のすべてのブラウザーで動作するはずです。

4

6 に答える 6

4

このようなものをお探しですか?
http://jsfiddle.net/d7hA5/

次の関数を検討してください。

// Handles the resize event
$(window)
    .off(".resizeImage")
    .on("resize.resizeImage", fnResizeImage);

// Resizes the content2 to fit with image height
function fnResizeImage (e) {
    var imgHeight = $('div.image_container > img').outerHeight(true);
    var cnt1Height = $('div.content > div.content1').outerHeight(true);
    var cnt2 = $('div.content > div.content2').outerHeight(imgHeight - cnt1Height);
}

また、プラグインのドキュメントを参照することをお勧めします: Magnific-popup API

于 2013-06-20T03:37:06.233 に答える
0

これをチェックして:

jsfiddle

これはコードを少し変更したものです。(ヒントについては、質問のコメントを確認してください)。コンテナをdivでラップしました:

<div class="container">

そして、このいくつかの変更が css に追加されました:

.container {background-color: white}
.image_container, .content {
    /* width: 50%;*/
    float: left;
    background-color: #1c1c1c;
}
.content2 {
    height: 300px;
    overflow-y: auto;
}
于 2013-06-27T01:54:39.177 に答える
0

子猫と子犬の問題をコンテンツで解決するための3つの方法を書きました。以下で確認できます。

しかし、高さや幅に本当に敏感な場合は、高さと幅をJavascriptで絶対に設定する方が良いと思います。

  1. Javascript の使用:

http://jsfiddle.net/d7hA5/11/

  1. CSS 方法 1 の使用:

次のように使用しheight:100vhます。

http://jsfiddle.net/d7hA5/9/

vhを理解するためのその他の例:

http://jsfiddle.net/JamesD/hr8sL/1/

  1. CSS 方法 2 を使用する:

次のような属性を使用しflex:1ます。

http://jsfiddle.net/d7hA5/10/

フレックスを理解するためのその他の例:

http://jsfiddle.net/VgGbv/

于 2013-06-26T23:51:58.237 に答える