来自非父元素的CSS位置

来自非父元素的CSS位置,css,xhtml,Css,Xhtml,我有一个无法更改的编码限制,并试图找到一种绕过它的方法,基于非父项定位div 我的代码结构如下,无法更改: <div class="row"> <div class="sub-row01"></div> <div class="sub-row02"></div> </div> <div class="row"> <div id="sub-row03"></div> <

我有一个无法更改的编码限制,并试图找到一种绕过它的方法,基于非父项定位div

我的代码结构如下,无法更改:

<div class="row">
   <div class="sub-row01"></div>
   <div class="sub-row02"></div>
</div>
<div class="row">
   <div id="sub-row03"></div>
</div>

我想做的是定位第03小行与第02小行的关系。我尝试过的任何操作都只允许我将#sub-row03相对于first.row进行定位


我想要达到的目标是可能的吗?如果是这样的话,什么是设置样式的正确方法?

要回答您的问题,纯css是不可能的,因为它只允许使用父级或前面的子级设置样式

比如说

a + b { } will style b
a ~ b { } will style b
a > be {} will style b 
但在这些情况下,没有办法设计a风格

但是,您可以通过javascript实现这一点。如果你想走这条路,你可以做如下事情:

document.getElementById("sub-row03").style.left = document.getElementById("sub-row02").offset().left;

如果有必要,我可以写一些更具体的东西,因为我没有测试过它,但它应该有助于基本概念。

如果这个问题可以用纯css解决,我会感到惊讶。但我同意这个答案。使用javascript或jQuery查找选择器,然后更新css。上述答案可能会有所帮助。div中有什么html?html看起来格式不正确。这就是Wordpress主题通过短代码生成代码的方式。您认为上述代码的哪部分格式不正确?*从语义上看,代码的格式不正确。但是我想如果你不能改变html格式也没关系。。。无论哪种方式,CSS都不允许向上移动文档树。所以你不能。