2

私はいつもこの疑問を持っています。

たとえば、 を使用する場合width: 50%、この 50% は親の幅に相対的です。

たとえば、私はこのコードを持っています

<div id="root">
    <div id="child">

    </div>

    <div id="child2">

    </div>
</div>

そしてこのcss

#root{
    width: 200px;
    height: 100px;
    background-color: red;
}

#child{
    width: 50%;
    height: 20px;
    background: yellow;
}

#child2{
    width: 50px;
    height: 20px;
    background: green;
}

http://jsfiddle.net/3EKzj/

#root幅が 200px の場合#child、幅が 100px の場合...

しかし、css プロパティまたは関数を使用して、幅が (25px)#childの幅の 50% である可能性はありますか?#child2

50% は独自の幅の要素に対して、25% は独自の高さの要素に対して相対的であることを知っているtransform: translate(50%,25%)ので、任意の関数で他の要素の幅または高さを取得できる可能性はありますか?

ありがとう!

4

1 に答える 1

1

いいえ、JavaScript なしではありません。CSS には、継承以外に、ある要素のプロパティを別の要素に適用する方法がありません。

Update
JavaScript を使用すると、ソリューションは次のようになります。

var child = document.getElementById('child');
var child2 = document.getElementById('child2');

child.style.width = (child2.clientWidth  / 2) + 'px';
于 2013-06-12T15:59:11.697 に答える