ligtbox2 の固定/カスタムの高さを設定する方法はありますか?
#lightbox img{ width: auto; height: 600px;}
これはimgのサイズのみを変更し、外側のコンテナは変更しません。
<html>
<head>
<style type="text/css">
#lightbox { border : solid 2px #000000; position:absolute; }
#lightbox img { width:auto; height: 600px;}
</style>
</head>
<body>
<div id="lightbox">
<img src="Desert.jpg" alt="desert" />
</div>
</body>
</html>
その宣言で、あなたはスタイルを整えていimg
ます#lightbox
img
スタイリングのみになるように を削除してみてください#lightbox
これは機能しますか?
#lightbox { width: auto; height: 600px;}
作成された HTML を調べてみると、div
withid="lightbox"
でラップされ、その中にdiv
withが含まれていることがわかりますid="outerImageContainer"
。後者には、画像の高さを持つスタイル属性があります。そこを狙ってみてください。CSS で上書きするか、読み込み後に高さを変更します。
これらの解決策はどれもうまくいきませんでしたが、助けてくれてありがとう。私はjsで手を汚さなければなりませんでした...これが私のハッキングされたコードです:lightbox.js
...
// once image is preloaded, resize image container
imgPreloader.onload = (function(){
var scale = 600 / imgPreloader.height; //modified
this.lightboxImage.src = this.imageArray[this.activeImage][0];
this.resizeImageContainer((imgPreloader.width * scale), //modified imgPreloader.height);
}).bind(this);
imgPreloader.src = this.imageArray[this.activeImage][0];
},
//
// resizeImageContainer()
//
resizeImageContainer: function(imgWidth, imgHeight) {
// get current width and height
var widthCurrent = this.outerImageContainer.getWidth();
var heightCurrent = this.outerImageContainer.getHeight();
// get new width and height
var widthNew = (imgWidth + LightboxOptions.borderSize * 2);
var heightNew = (600 + LightboxOptions.borderSize * 2); //modified
...