その通りです。現在、純粋な CSS で子の親要素のスタイルを設定する方法はありません。目的の効果を実現する方法として JavaScript を使用できます。
(アップデート)
次のようにして JavaScript でこれを実現できます (DEMO: Fiddle )
JS
これは onload で実行する必要があります。実行しないと機能しません。
// On Hover
document.getElementById('main').onmouseover = function () {
document.getElementById('item').classList.add("to-left"); // Add To Left Class
}
// OnMouseOut (Not Hover)
document.getElementById('main').onmouseout = function () {
document.getElementById('item').classList.remove("to-left"); // Remove To Left Class
}
必要に応じて要素の ID を変更することを忘れないでください。
CSS
この CSS クラスを CSS に追加します
.to-left {
margin-left: 60px;
}
そして、あなたの HTML は同じままです。これにより、希望する結果が得られるはずです。これがうまくいくかどうか教えてください。