2016-12-22 10 views
0

私は携帯電話で応答するウェブサイトを作っています。アイコンが付いた円を描く必要があります。私は円とイメージのアイコンを作った。しかし、ウィンドウのサイズを変更するとき、アイコンはサークル画像のような比率を維持しません。私はHTML5とCSS3を使用しています。 リサイズ時のレスポンシブな画像スケーリング

.theCircle { 
 
    position: relative; 
 
} 
 
#img1 { 
 
    height: auto; 
 
    width: 100%; 
 
} 
 
#img2 { 
 
    position: absolute; 
 
    top: 40%; 
 
    left: 4%; 
 
    max-height: 100%; 
 
    max-width: 100%; 
 
}
<div class="theCircle"> 
 
    <img id="img1" src="circle.png"> 
 
    <img id="img2" src="pin.png"> 
 
</div>
は、ここでのdivとスタイリングを示す私のコードです。これは、ウィンドウが大きくてもアイコンが拡大しているときの円の拡大率を示す画像です。

どのようなアイデアをお願いしますか?

enter image description here

+0

ポインタアイコントップ&左割合が、これは常にウィンドウサイズにそれぞれであることを確認してください。画像サイズ/位置ではありません。画像サイズに応じた位置を見つけるために、いくつかのスクリプト/ CSSトリックスを書く必要があります。 – Garfield

答えて

0

代わりの画像を使用して、純粋なHTMLとCSS

*{ 
 
    box-sizing:border-box; 
 
} 
 
.theCircle{ 
 
    width:50vw; 
 
    height:50vw; 
 
    border:2px solid black; 
 
    margin:auto; 
 
    border-radius:25vw; 
 
    position:relative; 
 
} 
 
.innerCircle{ 
 
    width:40vw; 
 
    height:40vw; 
 
    border:2px solid black; 
 
    margin:auto; 
 
    border-radius:25vw; 
 
    position:absolute; 
 
    top:5vw; 
 
    left:5vw; 
 
} 
 
#img2{ 
 
    position:absolute; 
 
    top:22vw; 
 
    left:0; 
 
    width:5vw; 
 
    height:5vw; 
 
}
<div class="theCircle"> 
 
    <div class="innerCircle"> 
 
    </div> 
 
    <img id="img2" src="https://cdn1.iconfinder.com/data/icons/ui-5/502/marker-512.png" /> 
 
</div>

+0

@ Mar1akあなたの問題を解決しましたか?そうなら、答えを受け入れてください。私の答えの左側にあるチェックマークをクリックしてください。いいえ、それで助けてくれるかもしれない – ab29007

+0

はい、それはうまくいった、あなたは天才です。ありがとう。 – Mar1ak

0

あなたは完全に(あなたが古いブラウザをサポートしていない場合のみである場合)CSS3に頼ることができる場合は、この使用してVHとVWを修正することができるはずです。

例:アイテムの幅と高さを50vwに設定すると、常にビューポートの半分の幅と正確に同じ高さ(常に正方形)になります。

あなたのpngファイルなしで完全な例を書くことはできません。ブラウザサポートでvwとvhを確認する必要があります(たとえば、IE9 +が必要です)。

+0

あなたの返事をありがとう、vhとvwを使用すると、ある程度はうまくいくようです。サークルにアイコンを「リグ」するのに良い方法はありますか?たとえば、円の枠内に4つのアイコンを配置する必要があります。アイコンを意図した場所から抜け出さないように比率を維持するために、すべてを縮尺する必要があります。 – Mar1ak

+0

私は非常に快適ではない位置を持つアイテムを配置すること以外には可能ではないと思います。サークルを使用しているときは、おそらくsvgを使用してサークルを使用する方が便利です。それはあなたが考えるかもしれないほど複雑ではなく、動的である必要がある場合に備えて、数行のJSコードを使用して実際に簡単にマニピュレートすることができます。しかし、SVGを使うと、ブラウザのサポートをもう一度チェックすることにつながります! SVGは、すべてのブラウザ(特にIE)でサポートされていません – mholzer78

関連する問題