作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
你好,希望你能帮到我。我试图将一个 div 垂直居中,但我一直失败。我认为问题在于 div 是由 2 个元素组成的画廊- 不可滚动的主要图像,因为它们适合屏幕- 缩略图(通过 jquery 显示隐藏/显示并隐藏单击特定图标的主要图像)。我无法将子 div(画廊)居中,因为我无法为父级(页面容器)设置高度,因为我需要缩略图可以滚动。但我希望主要图像在页面中居中...
这是我的 html 代码(我保留了必要的部分):
<!--page -->
<div id="gallery-container">
<!-- main images -->
<div class="cycle-slideshow">
<img src="img.jpg">
</div>
<!-- thumbnails -->
<div class="thumbs">
<img src="img.jpg">
</div>
<!-- jquery hide/show code -->
<script type="text/javascript">
$('.thumbsicon').on('click', function() {
$('.cycle-slideshow').hide(); $('.thumbs').fadeIn();
});
$('.thumbs li img').on('click', function() {
var imgSrc = $(this).attr('src');
$('.cycle-slideshow').fadeIn('slow').css('background-image', 'url( + imgSrc + )');
$('.thumbs').hide();
});
</script>
</div>
还有 css(假设我的网站左侧有一个 250px 的侧边栏菜单):
#gallery-container{width:700px;z-index:70;margin:0 auto;position:relative;overflow:hidden;padding:0 20px 0 270px;}
.cycle-slideshow {width:700px;height:517px;margin:0 auto;padding:0;position:relative;}
.thumbs {position:relative; width:700px; margin:0 auto; padding:0; display:none;}
我尝试了很多 css 解决方案,但似乎都没有用。我能做些什么?提前致谢...
最佳答案
这是一个 stackoveflow,我不久前出于自己的目的改编了已接受答案的代码。这是我必须定位到窗口或父元素的内容:
Using jQuery to center a DIV on the screen
演示:http://jsfiddle.net/6P7AM/1/
jQuery.fn.center = function (centerToWindow) {
var parent = null;
var positionCss = null;
if (centerToWindow) {
parent = window;
positionCss = "absolute";
} else {
parent = this.parent();
positionCss = "relative";
}
this.css({
"position": positionCss,
"top": Math.max(0, (($(parent).height() - this.outerHeight()) / 2) + $(parent).scrollTop()) + "px",
"left": ((($(parent).width() - this.outerWidth()) / 2) + $(parent).scrollLeft() + "px")
});
return this;
}
$(function () {
$(window).resize(function () {
$("#gallery-container").center(true);
}).trigger("resize");
});
关于jquery - 如何在不知道父级高度的情况下垂直居中 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21485921/
我是一名优秀的程序员,十分优秀!