网络上的圆角图像最佳实践
Best practice rounded corner images on the web
假设可以找到合适的解决方案(不需要跨浏览器等) -
在网络上对图像进行圆角处理的最佳方式是CSS/JS,
或者:使用有圆角的图像(通过上传代码或设计师的体力劳动)是更好的做法吗?
如果可用,圆角元素 - css 与圆角图像(例如精灵)怎么样?
编辑我知道CSS是可能的,但我认为它使浏览器比仅仅下载预先编辑的图像更难工作(这会在服务器端花费更多的精力)。问题不在于什么有效,而在于什么更好。
您可以简单地创建带有圆角的图像,但这当然会增加生成图像的时间和复杂性。
或者,您也可以仅使用CSS做一些事情。将图像设置为div的背景图像,然后使用CSS 3 border-radius 属性使div的角变圆以提供类似的效果。
例如
div {
background-image: url(myimage.jpg);
width: 375px;
height: 500px;
border: 2px solid #666;
border-radius: 40px;
-moz-border-radius: 40px;
-webkit-border-radius: 40px;
}
这仅适用于支持 CSS 3 的浏览器,但您确实提到跨浏览器兼容性不是问题。 只是一个想法:)
您可以按照此代码使图像完美圆形。
.MyImage {
height: 200px;
width: 200px;
border-radius: 100%;
}
首先,我们使用 .MyImage 类(您可以设置任何您想要的内容),然后我们将高度和宽度属性设置为相等(您可以设置任何您想要的属性,除非它相等),以便它成为一个完美的正方形。然后将边框半径设置为 100%。
所有支持圆角的浏览器现在也支持图像本身的圆角。就像Stef回答的那样,你过去必须使用背景图像,但这种方式要容易得多。
img {
border-radius: 10px;
}
或
img {
border-radius: 10px 5px 10px 2px;
}
在最新版本的Safari中,Firefox,Chrome甚至ie9边框半径现在在没有前缀的情况下绝对可以正常工作。
我猜这取决于你想向后兼容的程度。如果您使用背景图像方法进行兼容,您仍然会遗漏大量不支持边框半径的旧浏览器,即使有前缀,您也真的可以让角成为图像的一部分。
希望对:)有所帮助
对于跨浏览器来说,这只是一个额外的:
img {
border-radius: 10px 10px 10px 10px;
-o-border-radius: 10px 10px 10px 10px;
-ms-border-radius: 10px 10px 10px 10px;
-moz-border-radius: 10px 10px 10px 10px;
-webkit-border-radius: 10px 10px 10px 10px;
}
- 在客户端调整图像大小/裁剪图像的最佳方式是什么
- 将文件夹中的所有图像包括在阵列中的最佳方式是什么
- 最佳实现:将图像文件上传到数据库,并从数据库中读取图像
- 实现延迟在滚动上加载未知大小的图像并最佳定位的图像库
- 是否有用于以最佳间距在行中显示图像搜索结果的 js 库
- 链接不同 Web 文件夹中的图像/文件的最佳实践
- 显示动画图像的最佳方式(HTML/CSS/JS)
- 当溢出-x 设置为隐藏时处理可变高度图像的最佳方法是什么?
- 在一个页面中加载 100 张图像的最佳方法
- 使用画布在Javascript中获取新图像的最佳方法
- 网络上的圆角图像最佳实践
- 将图像发送到服务器的最佳/更有效的方法是什么
- 在 jquery 中为内联 css 构建图像路径的最佳方法
- 什么是图像的弃用lowsrc的最佳替代品
- 创建字符串中找到的所有图像的数组的最佳方法是什么
- 当主图像未加载(.net web表单)时,加载备用图像的最佳方式是什么
- 算法-根据图像的高度和宽度确定图像尺寸的最佳方法
- three.js-什么'这是将多个纹理/图像放在单个球体上的最佳方式
- 将图像存储在浏览器缓存中-加载图像的最佳方式
- 将图像加载到滑块中的最佳方式