绝对&相对的

时间:2014-02-16 01:43:24

标签: html css absolute relative

我一直在玩这两个,我似乎仍然无法理解它们。

当我试图让所有内容保持居中时,无论您正在查看什么屏幕分辨率,我通常会将宽度设置为0 auto。但是 - 如果我有绝对的相同属性,它会完全忽略此值并且不起作用。

那么我应该如何将图像定位在另一个图像的TOP上,同时确保将所有图像的所有屏幕分辨率保持为中心状态,而不是使用绝对图像?

编辑:我正试图让小新闻小部件和teamspeak小部件保持在正文中间。

HTML

<body>
<div id="page-wrap">
    <div id="header">
        <img src="images/header.png" />
    </div>
    <img src="images/navbar.png" />
    <ul id="nav">
        <li><a href="http://www.voyage-us.com">Home</a></li>
        <li><a href="http://www.voyage-us.com/xenforo/upload/index.php">Forums</a></li>
        <li><a href="http://www.google.com">Members</a></li>
        <li><a href="http://www.google.com">Streams</a></li>
        <li><a href="http://www.google.com">Contact Us</a></li>
    </ul>
    <div id="mainbody">
        <img src="images/mainbody.png" /></div>

    <div class="news1">
        <img src="images/news1.png" /></div>

    <div class="teamspeak">  <!--Teamspeak IMG-->
        <img src="images/teamspeak.png" /></div>

    <div id="ts3viewer_1037062" /></div>  <!-- Teamspeak Widget -->

        <script type="text/javascript" src="http://static.tsviewer.com/short_expire/js/ts3viewer_loader.js"></script>

        <script type="text/javascript">
        <!--
        var ts3v_url_1 = "http://www.tsviewer.com/ts3viewer.php?ID=1037062&text=000000&text_size=12&text_family=2&js=1&text_s_color=ffffff&text_s_weight=bold&text_s_style=normal&text_s_variant=normal&text_s_decoration=none&text_s_color_h=ffffff&text_s_weight_h=bold&text_s_style_h=normal&text_s_variant_h=normal&text_s_decoration_h=underline&text_i_color=ffffff&text_i_weight=normal&text_i_style=normal&text_i_variant=normal&text_i_decoration=none&text_i_color_h=ffffff&text_i_weight_h=normal&text_i_style_h=normal&text_i_variant_h=normal&text_i_decoration_h=underline&text_c_color=ffffff&text_c_weight=normal&text_c_style=normal&text_c_variant=normal&text_c_decoration=none&text_c_color_h=ffffff&text_c_weight_h=normal&text_c_style_h=normal&text_c_variant_h=normal&text_c_decoration_h=underline&text_u_color=ffffff&text_u_weight=bold&text_u_style=normal&text_u_variant=normal&text_u_decoration=none&text_u_color_h=ffffff&text_u_weight_h=bold&text_u_style_h=normal&text_u_variant_h=normal&text_u_decoration_h=none";
        ts3v_display.init(ts3v_url_1, 1037062, 100);
        -->
        </script>

    <div id="footer">
        <p>&copy;2014 Rythmn Designs<p>
</div>
</body>

CSS

body
{
margin: 0px;
padding: 0px;
background: url("http://puu.sh/6RlKi.png")
}

.clear
{
clear:both;
}

#page-wrap
{
width: 1019px;
margin: 0 auto;
}

#header
{
width:100%;
text-align: center;
display: block;
}

#nav
{
height: 0.1px;
list-style: none;
padding-left: 14px;
text-align: center;
padding-bottom: 0px;
margin: -14px;
margin-top: -15px;
}

#nav li a
{
position:relative;
top: -12px;
display: block;
width: 100px;
float: left;
color: white;
font-size:  14.09px;
text-decoration: none;
font-family:"BankGothic Md BT"
}

#nav li a:hover, #nav li a:active
{
color: red;
}

#mainbody
{
vertical-align:top;
position:relative
}

.news1
{
position: absolute;
top: 435px;
right: 815px
}

.teamspeak
{
position: absolute;
top: 435px;
right: 470px

}

#ts3viewer_1037062
{
position:absolute;
top: 465px;
right: 478px;
width: 290px;
height:190px;
overflow:auto;
}

#footer
{
background: #181818;
color: white;
padding: 20px 0 20px 0;
text-transform: uppercase;
border-top: 15px solid #828080;
text-align: center;
font-family:"BankGothic Md BT";
font-size:  12px;
position: relative;
}

2 个答案:

答案 0 :(得分:0)

对于绝对定位的元素,假设固定宽度

left: 50%;
margin-left: -[width/2];

left将左边框放在屏幕中间;负margin将其拉回到左侧宽度的一半,使其居中。


absolute定位允许相对于窗口或包含元素定义top, right, bottom, left属性。

relative允许相对于元素通常在文档流中出现的位置定义相同的属性。

答案 1 :(得分:0)

您可以采用不同的方式,并使用嵌套的<DIV>标记,例如:

<div id="outer">
    <div id="inner">
    </div>
</div>

然后将图像添加到CSS中。参见例如jsFiddle