问题描述
它应该基本上是一个方形或圆形的轮廓 – 我可以相应地设计风格 (即将颜色改为任何我想要的,改变边框的厚度等)
我想把这个圆圈或正方形应用于别的东西 (如图像或东西),中间部分应该被挖空,所以你可以看到正方形或圆形下的图像。
我更喜欢它主要是 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 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。