在具有绝对位置状态的另一个div内水平居中div

时间:2014-01-04 17:37:00

标签: javascript jquery css html

我试图将div水平居中于另一个div中。我想要居中的div是一个使用jQuery的向下滚动按钮,它有我自己制作的自定义图标字体和默认的宽度/高度。我想将这个div放在我的主div内,并保持原始大小,因为我想继续使用它作为按钮。例如: description 我想制作类似白色箭头的东西,它指向中心,但没有弄乱我的宽度。  这是我的代码:

HTML

<div id="intro-tab"> <!-- First/Intro Tab -->
    <div id="introtab-godownbtn">Q</div>
</div>

CSS

#intro-tab {
    width: auto; 
    height: 100%; 
    position: absolute; 
    left: 0px; 
    right: 0px; 
    top: 0px; 
    background-color: red; 
    box-shadow: 0px 1px 3px #000;
}

#introtab-godownbtn {
    font-family: iconFont; 
    font-size: 50px; 
    position: absolute; 
    bottom: 25px; 
    width: 60px; 
    height: 30px; 
    left: 50%; 
    margin-left: 30px; 
    background-color: #FFF;
}

#introtab-godownbtn:hover {
    cursor: pointer;
}

的jQuery

$('#introtab-godownbtn').click(function(){
    $("html, body").animate({ 
        scrollTop: (screen.height - 90) 
    }, 600);
    return false; 
});

我已经尝试了很多方法来使按钮introtab-godownbtn居中,但它不起作用,或者只是弄乱我的按钮大小和点击位置。我问题的任何解决方案?

2 个答案:

答案 0 :(得分:0)

据我所知,您正在尝试将HTML元素水平居中。通常,人们会使用margin: 0 auto;方法,在其应用的元素上设置固定宽度。这是一个例子:http://jsfiddle.net/5XTq2/

如果这个答案没有帮助,你能提供你想要实现的布局的模型/截图吗?我很乐意更新答案以满足您的需求。

编辑: 根据您的Spotify示例,如果您检查页面并选择向下箭头,它将具有以下样式。

.scroller-arrow {
    width: 60px;
    height: 60px;
    background-image: url(../i/_global/arrow-big.png);
    cursor: pointer;
    display: block;
    margin: 0 auto;
    position: relative;
   -webkit-tap-highlight-color: transparent;
}

答案 1 :(得分:0)

要使内部绝对定位的div水平和垂直居中:

HTML:

<div id="intro-tab">
    <div id="introtab-godownbtn">Q</div>
</div>

CSS:

body { margin: 0; }
#intro-tab {
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: red;
    box-shadow: 0px 1px 3px #000;
}
#introtab-godownbtn {
    background-color: #FFF;    
    font-family: iconFont;
    font-size: 20px;
    width: 60px;

    /* this does the centering */
    height: 30px;
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
#introtab-godownbtn:hover { cursor: pointer; }