問題描述
它應該基本上是一個方形或圓形的輪廓 – 我可以相應地設計風格 (即將顏色改為任何我想要的,改變邊框的厚度等)
我想把這個圓圈或正方形應用於別的東西 (如圖像或東西),中間部分應該被挖空,所以你可以看到正方形或圓形下的圖像。
我更喜歡它主要是 CSS + HTML 。
最佳解決方案
嘗試這個
div.circle {
-moz-border-radius: 50px/50px;
-webkit-border-radius: 50px 50px;
border-radius: 50px/50px;
border: solid 21px #f00;
width: 50px;
height: 50px;
}
div.square {
border: solid 21px #f0f;
width: 50px;
height: 50px;
}
<div class="circle">
<img/>
</div>
<hr/>
<div class="square">
<img/>
</div>
次佳解決方案
您可以使用特殊字符來製作大量的形狀。示例:http://jsfiddle.net/martlark/jWh2N/2/
<table>
<tr>
<td>hollow square</td>
<td>□</td>
</tr>
<tr>
<td>solid circle</td>
<td>•</td>
</tr>
<tr>
<td>open circle</td>
<td>๐</td>
</tr>
</table>
還有更多的可以在這裏找到:HTML Special Characters
第三種解決方案
我不知道一個簡單的 css(2.1 標準) – 圓圈的解決方案,但是對於方格,你可以輕鬆做到:
.squared {
border: 2x solid black;
}
然後,使用以下 html 代碼:
<img src="…" alt="an image " class="squared" />
第四種方案
如果您希望您的 div 保持圓形,即使您更改其寬度/高度 (例如使用 js),將半徑設置為 50%。示例:css:
.circle {
border-radius: 50%/50%;
width: 50px;
height: 50px;
background: black;
}
HTML:
<div class="circle"></div>
第五種方案
圈時間! :) 使用一個空心中心做一個圓圈的簡單方法:使用 border-radius,給元素一個邊框,沒有背景,所以你可以看到它:
div {
display: inline-block;
margin-left: 5px;
height: 100px;
border-radius: 100%;
width:100px;
border:solid black 2px;
}
body{
background:url('http://lorempixel.com/output/people-q-c-640-480-1.jpg');
background-size:cover;
}
<div></div>
第六種方案
據我所知,沒有 cross-browser 兼容的方式,使 CSS& 僅 HTML 。
對於廣場我猜你可以做一個邊框邊框和一個 z-index 高於你把它的結果。我不明白為什麼你需要這樣做,當你可以把圖像邊框或”something” 本身。
如果有其他人知道如何製作一個跨瀏覽器與 CSS& 只有 HTML,我很樂意聽到它!
@Caspar Kleijne border-radius 在 IE8 或以下不工作,不確定 9 。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。
