ゴール:
レスポンシブCSSは、次のことを示しています。
- 等しい半径でスケーリングします。
- 半径はパーセントで計算できます。
- 半径は、メディアクエリによって制御できます。
解決策がjavascriptの場合でも、メディアクエリトリガーをエミュレートする必要があります。メディアクエリは「必要ありません」が、特定の幅で半径をパーセンテージで制御する機能が必要です。
@media (max-width : 320px)
{
.x2{padding: 50%;}
}
@media (min-width : 321px) and (max-width : 800px)
{
.x2{padding: 25%;}
}
@media (min-width: 801px)
{
.x2{padding: 12.5%;}
}
これが私がこれまでに持っているものです:
<div class="x1">
<div class="x2">
lol dude
</div>
<div class="x2"></div>
<div class="x2"></div>
<div class="x2"></div>
</div>
.x1
{
float:left;
width:100%;
}
.x2
{
display:block;
float:left;
padding: 12.5%; //Currently being used to control radius.
width:auto;
height:auto;
border-radius:50%;
-moz-border-radius:50%;
-webkit-border-radius:50%;
-khtml-border-radius: 50%;
background:#eee;
text-align:center;
}
問題:
このソリューションでは、コンテンツがサークルに追加されると、次のようになります。
- 利用可能なパディングを超えて拡大縮小すると、形状がゆがみます。
- 半径のサイズを大きくします。
アップデート:
私はここでこれのための実用的なソリューションを構築しました: レスポンシブCSSサークル