2016-08-26 16 views
0

私はそれがこのようなことでしょうwidth: 25%; float: left;と12の要素があるとします。私はこれらのdivにoverflow: visible;と拡大するこれらのdivの各内側のdivを追加した浮動div要素の最後の列のためのセレクタ

--------- 
|a|b|c|d| 
--------- 
|e|f|g|h| 
--------- 
|i|j|k|l| 
--------- 

ホバーオン。大丈夫です。問題は、dhlを除いて、すべてのdivの右に展開したいので、左に展開する必要があります。私はそれがJavaScriptなしでそれをすることが可能かどうか疑問に思います。 dhおよびlを選択できるCSSセレクタはありますか(それは応答性があり、常に行ごとに4つのdivではないことに注意してください)。前記セレクタ。

+0

https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-child – CBroe

+0

@CBroe n番目の子は、助けにはなりません行のサイズは不明であり、変更される可能性があります。 – Sassan

+0

さて、どのように反応するのですか?特定のブレークポイントでメディアクエリに特定の幅を割り当てることで、行ごとの要素数が決まる場合、それらの値が異なるnth-childを使用できます。 – CBroe

答えて

1

フレックスボックスがあります。希望の出力を得るために、より良い値を選択してください。私が言ったように

ul{ 
 
    list-style: none; 
 
    padding: 0; 
 
    margin: 0; 
 
    display: flex; 
 
    flex-direction: row; 
 
    flex-wrap: wrap; 
 
    justify-content: space-between; 
 
    align-content: space-around; 
 
} 
 
li{ 
 
    padding: 20px; 
 
    margin: 5px; 
 
    background-color: #8056ff; 
 
    color: white; 
 
    text-align: center; 
 
    flex-basis: 40px; 
 
    transition: flex-basis 1s; 
 
} 
 
li:hover{ 
 
    flex-basis: 100px; 
 
}
<ul> 
 
    <li>a</li> 
 
    <li>b</li> 
 
    <li>c</li> 
 
    <li>d</li> 
 
    <li>e</li> 
 
    <li>f</li> 
 
    <li>g</li> 
 
    <li>h</li> 
 
    <li>i</li> 
 
    <li>j</li> 
 
    <li>k</li> 
 
    <li>l</li> 
 
</ul>

+0

ありがとう、あなたのソリューションは素晴らしいですが、それは私の問題を解決しません。私はその質問で十分に明確ではなかった。私は拡大要素が他の要素のサイズを変更することを望んでいません。それは、その背後にあるアイテムをカバーするポップアップのように動作するはずです。位置を使用してこれを達成するのは簡単です:入れ子になったdivとpositionの絶対:アイテム内の相対。しかし、問題は最後の列にあります。それは他人と違って左に広がるべきです。最後の列のセレクタがあれば、簡単に行えます。 – Sassan

関連する問題