一张图片实现网页圆角

知更鸟
知更鸟
站长
2332
文章
0
粉丝
Web前端145,886阅读模式

一张图片就能实现圆角?是什么样的图片?怎样实现?

其实这张图片是一个小圆圈,如下面的例子将要使用的图片为 10 * 10 大小的图片: ,太小了是吧,不过已经够了。

基本思路

准备四个小容器,分别放小圆圈图片的左上、右上、左下、右下四个部分,然后再分别定位到父容器的四个角上。

图片示意:

代码实现

XHTML代码:

  1. <div id="container">
  2. <h1>一张图片实现圆角</h1>
  3. <b class="lt"></b>
  4. <b class="rt"></b>
  5. <b class="lb"></b>
  6. <b class="rb"></b>
  7. </div>

四个 b 为小容器,不要管它们,放上去就是了。

CSS代码:

  1. *{
  2. margin:0;
  3. padding:0;
  4. }
  5. #container{
  6. position:relative;
  7. margin:20px auto;
  8. padding:20px;
  9. width:400px;
  10. height:50px;
  11. border:1px solid #000;
  12. }
  13. b{
  14. position:absolute;
  15. width:5px;
  16. height:5px;
  17. font-size:0;
  18. background-image:url(images/yuan8.jpg);
  19. background-repeat:no-repeat;
  20. }
  21. .lt{
  22. left:-1px;
  23. top:-1px;
  24. background-position:left top;
  25. }
  26. .rt{
  27. rightright:-1px;
  28. top:-1px;
  29. background-position:rightright top;
  30. }
  31. .lb{
  32. left:-1px;
  33. bottombottom:-1px;
  34. background-position:left bottombottom;
  35. }
  36. .rb{
  37. rightright:-1px;
  38. bottombottom:-1px;
  39. background-position:bottombottom rightright;
  40. }
  41. h1{
  42. text-align:center;
  43. font-size:24px;
  44. }

这种方法似乎很完美,但遗憾的是:如果父容器(本例为 #container)的高度为基数时,在 IE6 里下方会出现一条横线,如下图:

所以,如果使用这种方法,就要控制好父容器,使它的高度为偶数。

另外:由于 IE 默认行高,b{height:5px} 会没有效果,所以加上了 font-size:0 消除了这个 bug ,虽然 overflow:hidden 也可以消除这个 bug ,但本例中不适合用这种方法,否则在 IE 中下半部分的圆角会没有效果或效果不完美

本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  14  访客  10  作者  2
    • dongyang
      dongyang 3

      请问博主大人上面的那个示意图是咋弄的啊?很有趣,有空写篇博呗。嘿嘿

      • 榆树网
        榆树网 3

        你这个站现在咋这么慢的!奇慢!!!

        • cbj
          cbj 2

          是不是写漏了一些,加上 < b class=”lt” > < /b > < b class=”lb” >< /b > < b class=”rt” > < /b > <b class=”rb” > < /b > 还是说本来css就有这个属性的呢?我还没有见过,求解…

            • 知更鸟
              知更鸟

              @ cbj 被WP自动屏蔽掉了,已补上

            • 绵阳网络建设
              绵阳网络建设 2

              在网站建设中要控制好这些细节还是挺不容易的。

              • Deep
                Deep 2

                搞定了

                • Deep
                  Deep 2

                  请教下,如何控制好父容器,使它的高度为偶数。我做的父DIV高度自适应,有此问题。经查发现,是DIV内的文字 p {line-height:21} ,未定义,自动有此属性的。。。
                  如果将 p {line-height:24px},但内容文字设置字号 18 等岂不是有文字重叠问题了。

                  • 夏尔猫叔
                    夏尔猫叔 0

                    推荐各位使用 html9patch(Android 9patch图的html版本),非常给力
                    https://github.com/kimseongrim/html9patch

                    • 刚哥笔记
                      刚哥笔记 3

                      图片圆角,和主题相适应。

                    匿名

                    发表评论

                    匿名网友
                    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                    拖动滑块以完成验证