完全通过CSS重新排列位置

完全通过CSS重新排列位置,css,html,positioning,Css,Html,Positioning,我一直在谷歌上搜索并寻找一种用CSS定位元素的方法,但我在解决一个问题上遇到了困难 我尝试做的一个很好的例子是: 我有两个div <div class="A"></div> <div class="B"></div> 我想使用CSS在div class A上面显示div class B。 我的问题是:是否可以只使用CSS在A的顶部显示B而不更改HTML?或者是在A上显示B的唯一方法,将B的div HTML置于A的div HTML之上?以下是您

我一直在谷歌上搜索并寻找一种用CSS定位元素的方法,但我在解决一个问题上遇到了困难

我尝试做的一个很好的例子是:

我有两个div

<div class="A"></div>
<div class="B"></div>

我想使用CSS在div class A上面显示div class B。 我的问题是:是否可以只使用CSS在A的顶部显示B而不更改HTML?或者是在A上显示B的唯一方法,将B的div HTML置于A的div HTML之上?

以下是您的答案

a.b{ 位置:绝对位置

}
.a {
top:50px;
}

这是可能的,但这取决于你想要实现什么。最好的办法还是简单地把B部门放在前面。 另一种方法是定位。 position:absolute在这两个元素上都可以工作,但是您需要知道元素的确切宽度和高度。例如,如果两者都有height:50px和width:50px,那么您的代码将如下所示:

.a {
height: 50px;
width: 50px;
position:absolute; 
top: 50px;
left: 0;
}

.b {
height: 50px;
width: 50px;
position: absolute; 
top: 0px;
left: 0;
}
另一种方法是使用元素B的边距减号

.a {
height: 50px;
width: 50px;
margin-top: 50px;
}

.b {
margin-top: -100px;
height: 50px;
width: 50px;
}
用这个

.B{

margin-top:-50px;
}

方法是:

#wrapper { 
     position: relative; 
     }

    #firstDiv { 
     position: absolute; 
     height: 100px; 
     top: 110px; 
     }

    #secondDiv { 
     position: absolute; 
     height: 100px; 
     top: 0; 
     }

您可以使用这样的css

.A,.B{
width: 48%;
float: right;
}

.A {
background-color: #ffa;
}

.B{
background-color: #0f0;
}

如果
B
的内容不是固定大小的,这是不可能的。是吗?你不可能用jquery或javascript来获取它。内容只是一些文本。日期或标题。你是在问B是否有CSS指定的高度和宽度吗?@Dinesh:你能帮我提供一个链接或一个例子吗?Y是的。如果
B
有一个指定的高度,你可以做如下回答。将
B
设置为
top:0px;
a
设置为
top:Xpx;
其中X当然是
B
中内容的高度。