0

我使用 CarouFredSel 作为我的轮播,我想在视觉上垂直对齐这个轮播中的文本内容到我的正文内容。我知道您可以通过根据浏览器宽度调整#carousel 的属性来使用javascript(我已将其注释掉)来做到这一点,left但我正在寻找一个CSS 解决方案。

描述我的问题的屏幕截图 左侧的蓝色屏幕截图是在浏览器最大化时显示网站,轮播中的“link3”似乎与“内容”对齐。右边的红色截图是浏览器最小化时显示的网站,“link1”与“content”在视觉上没有对齐。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<link rel="stylesheet" type="text/css" media="all" href="reset.css">
<script type="text/javascript" language="javascript" src="<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>"></script>
<script type="text/javascript" language="javascript" src="http://www.sfu.ca/~jca41/stuph/jquery.carouFredSel.js"></script>

<script type="text/javascript" language="javascript">

$(function() {
$('#carousel').carouFredSel({
    items: 1,
    scroll: {
        fx: 'crossfade',
        duration: 1000
    },
    pagination: {
        container: '#pager',
        duration: 500
    }
});

/*$(window).resize(function() {
    var winW = $(window).width();
    var carouselWidth = $('#carousel .slide').css('width');
    carouselWidth = carouselWidth.replace(/[^0-9]/g, '');

    if (winW > carouselWidth) {
        $('#c-carousel').css('left', (winW-carouselWidth)/2 + 'px'); 
    } else {
        $('#c-carousel').css('left', '0px'); 
    }
}).resize();*/

});


</script>
<style type="text/css" media="all">


#heroicCarousel {
    height: 100%;
    padding: 0;
    margin: 0 auto;
    min-height: 250px;
    position: relative;
    z-index: 1000;
    text-align:center;
    max-width:600px;
}
.caroufredsel_wrapper {
    width: 100% !important;
    height: 100% !important;
}
#carousel {
    position: absolute !important;
}
#carousel .slide {
    width:600px;
    height:250px;
    overflow: hidden;
    float: left;
}
#carousel .slide .content {
    font-size: 55pt;
    position: relative;
    top: -100px;
    left: 150px;
    z-index: 5;
}
#carousel .slide img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
}

#pager {
    position: relative;
    top: -700px;
    left: 0;
    z-index: 10;
    display: block;
    text-align: center;
}
#pager a {
    background-color: #356;
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 6px;
    border-radius: 10px;
    box-shadow: 0 1px 1px #cef;
}
#pager a.selected {
    background-color: #134;
}
#pager a span {
    display: none;
}

#content {
    background: yellow;
    width: 300px;
    height: 300px;
    position: relative;
    margin: 0 auto;
    z-index: 20px;
    top: -520px;
    font-size: 60pt;
}

</style>
</head>
<body>
<div id="heroicCarousel">
    <div class="caroufredsel_wrapper">
        <div id="carousel">
            <div class="slide">
                <img src="http://www.placehold.it/600x250/ff0000/999999">
                <div class="content"><a href="">link1</a></div>
            </div>
            <div class="slide">
                <img src="http://www.placehold.it/600x250/00ff00/999999">
                <div class="content"><a href="">link2</a></div>
            </div>
            <div class="slide">
                <img src="http://www.placehold.it/600x250/0000ff/999999">
                <div class="content"><a href="">link3</a></div>
            </div>
            <div class="slide">
                <img src="http://www.placehold.it/600x250/f0f0ff/999999">
                <div class="content"><a href="">link4</a></div>
            </div>
        </div>
    </div>
    <div id="pager">
        <a href="http://coolcarousels.frebsite.nl/c/18/#" class="selected"><span>1</span></a>
        <a href="http://coolcarousels.frebsite.nl/c/18/#" class=""><span>2</span></a>
        <a href="http://coolcarousels.frebsite.nl/c/18/#" class=""><span>3</span></a>
        <a href="http://coolcarousels.frebsite.nl/c/18/#" class=""><span>4</span></a>
    </div>
</div>
<div id="content">
    content
</div>

</body>
</html>
4

1 回答 1

0

我通常在 div 周围加上一个包装元素。这个元素和你最宽的 div 一样宽,任何有它的孩子margin:0 auto;都以它为中心。示例http://jsfiddle.net/5LJhC/1/

非常简单的示例,但显示了随着轮播宽度的变化,内容 div 是如何居中的

于 2012-09-21T19:33:23.027 回答