html – 使用CSS中心

前端之家收集整理的这篇文章主要介绍了html – 使用CSS中心前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想把图像放在一个div里面. div的宽度为300px.图像宽度仅在运行时才知道.它通常大于300px,所以图像应该是中心的,左右剪切.在这种情况下,margin 0 auto不起作用.
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html>
  3. <head>
  4. <style type="text/css">
  5.  
  6. div{width:300px;border:1px solid red; overflow:hidden}
  7.  
  8. img{
  9. /* NOTE!!!!
  10. margin:auto; doesn't work when image width is bigger than div width
  11. image width is known only at runtime!!!
  12. */
  13. }
  14. </style>
  15. </head>
  16.  
  17. <body>
  18. <div>
  19. <img src="" />
  20. </div>
  21. </body>
  22. </html>

感谢任何css的想法

UPD这个有趣的任务是遵循here

解决方法

如果您在图像周围包装另一个元素,则可以使其起作用:
  1. <div class="outer">
  2. <div class="inner"><img src="" alt="" /></div>
  3. </div>

和以下CSS:

  1. .outer {
  2. width: 300px;
  3. border: 1px solid red;
  4. overflow: hidden;
  5. *position: relative;
  6. }
  7. .inner {
  8. float: left;
  9. position: relative;
  10. left: 50%;
  11. }
  12. img {
  13. display: block;
  14. position: relative;
  15. left: -50%;
  16. }

位置:相对于.outer标有*,所以它只适用于IE6 / 7.你可以把它移动到一个条件的IE样式表,如果这是你喜欢的,或者删除*完全.需要避免现在相对定位的孩子不会溢出.

猜你在找的HTML相关文章