回答
有这个问题的几个可能的解决方案:
只需使用一个三角形的图形。
简单明了的答案。虽然可能不是你要找的东西。使用填充的方形div,并将其旋转45度。
它可以工作,但可能过于简单。在旧版本的IE中,Plus旋转可能会有些痛苦(它可以工作,但是filter
的语法很糟糕,默认旋转点与其他所有浏览器不同,所以它可能会让你感到头疼)。对于这样的简单效果,可能会花费太多精力。使用CSS triangle-borders hack制作三角形。
这有点不方便,但效果很好。阅读更多关于它的地方:http://jonrohan.me/guide/css/creating-triangles-in-css/使用SVG。
SVG是一种基于XML的矢量图形格式。在SVG中创建类似这样的东西是微不足道的。这将是一个很好的解决方案,除了IE8和更早版本不支持SVG。幸运的是,do支持VML,这是一种竞争格式(IE9支持SVG,因此VML将会消亡,但我们需要暂时处理它)。一个很好的解决方案是使用其中一个JavaScript库来即时进行SVG-VML转换。其中有几个 - 例如:尝试这一个:http://code.google.com/p/svg2vml/。或者,您可以使用Raphael库使用JavaScript来绘制SVG或VML。
您使用哪种解决方案取决于您;这取决于你想支持哪些浏览器,你是否满意使用Javascript,是否要避免添加不必要的图形等。
我会建议CSS三角形边界黑客可能是最好的解决方案暂且。在未来,SVG将会是一个更好的答案,但目前IE8/7/6不支持它的事实有点杀手锏。
三角形边界黑客的唯一问题是它不能在100%的IE6中工作(请参阅上面关于该细节的链接页面),但即使这样也是可用的。坦率地说,我只是放弃了对IE6的支持。
这是我能想到的最简单的方法:把background
上h2
,并将其定位left center
。
h2 {
padding-left: 30px;
background: url(black-triangle-image.png) left center no-repeat
}
你有padding-left
更换任何margin-left
上h2
。
如果容器有一些padding-left
,您可以在h2
上设置margin-left: -??px
将其拉到左边缘。
- 1. CSS边界出现在点击
- 2. 如何实现无边界的UISearchBar
- 3. 如何实现这种边界风格? CSS只首选
- 4. 如何实现元素走出边界的平滑过渡?
- 5. 实现鼠标边界的边缘
- 6. 如何使CSS边界,实际上是在非常边缘
- 7. CSS溢出:自动超出边界
- 8. jQuery的CSS边界
- 9. ChartFX导出图表切割边界
- 10. 切割轴的边界
- 11. Matlab的切边在界
- 12. CSS边框不会出现
- 13. 边界半径CSS
- 14. CSS边界在Chrome
- 15. CSS边界半径
- 16. CSS滑动边界
- 17. CSS:重叠边界
- 18. CSS - 短边界线?
- 19. CSS边界半径
- 20. CSS边界问题
- 21. 如何才能实现像蛋一样的边界半径
- 22. 如何获取边界的边界值?
- 23. 在box2dweb中实现边界监听器
- 24. 实现边界表示建模
- 25. 在Java中实现边界椭圆
- 26. 如何实现与边界有装饰角的相邻div的双边框
- 27. 如何实现界面?
- 28. 如何让阴影出现在桌面上的边界之间?
- 29. 从边界切割矩形
- 30. 如何防止草书CSS字体超出容器边界