css – Spinner for Twitter Bootstrap .btn

前端之家收集整理的这篇文章主要介绍了css – Spinner for Twitter Bootstrap .btn前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图创建Twitter Bootstrap按钮的旋转器. Spinners应该指出一些正在进行的工作(即ajax请求).

这里是小例子:
http://jsfiddle.net/AndrewDryga/zcX4h/1/

HTML(完整的jsfiddle):

  1. Unknown element (no animation here!):
  2. <p>
  3. <button class="btn-success has-spinner">
  4. <span class="spinner"><i class="icon-spin icon-refresh"></i></span>
  5. Foo
  6. </button>
  7. </p>
  8.  
  9. Works when width is defined:
  10. <p>
  11. <a class="btn btn-success has-spinner">
  12. <span class="spinner"><i class="icon-spin icon-refresh"></i></span>
  13. Foo
  14. </a>
  15. </p>

CSS:

  1. .spinner {
  2. display: inline-block;
  3. opacity: 0;
  4. width: 0;
  5.  
  6. -webkit-transition: opacity 0.25s,width 0.25s;
  7. -moz-transition: opacity 0.25s,width 0.25s;
  8. -o-transition: opacity 0.25s,width 0.25s;
  9. transition: opacity 0.25s,width 0.25s;
  10. }
  11.  
  12. /* ... */
  13.  
  14. .has-spinner.active .spinner {
  15. opacity: 1;
  16. width: auto; /* This doesn't work,just fix for unkown width elements */
  17. }
  18.  
  19. /* ... */
  20.  
  21. .has-spinner.btn.active .spinner {
  22. width: 16px;
  23. }
  24.  
  25. .has-spinner.btn-large.active .spinner {
  26. width: 19px;
  27. }

这个交易是,css“margin:auto”不会产生预期的动画,所有元素的微调宽度都应该通过css定义.有没有办法解决这个问题?另外,也许还有更好的方法来调整/显示旋转器?

我应该用按钮填充,让它在方式,按钮宽度不变,当微调显示或更改宽度的按钮是否可以? (如果不适当地将其作为片段)

解决方法

我可以通过使用宽度的max-width istead来解决这个问题.这也是纯粹的CSS解决方案,所以它几乎可以在任何地方使用(例如在标签显示X标记,当用户将鼠标悬停在其上时).

演示:http://jsfiddle.net/AndrewDryga/GY6LC/

新CSS:

  1. .spinner {
  2. display: inline-block;
  3. opacity: 0;
  4. max-width: 0;
  5.  
  6. -webkit-transition: opacity 0.25s,max-width 0.45s;
  7. -moz-transition: opacity 0.25s,max-width 0.45s;
  8. -o-transition: opacity 0.25s,max-width 0.45s;
  9. transition: opacity 0.25s,max-width 0.45s; /* Duration fixed since we animate additional hidden width */
  10. }
  11.  
  12. /* ... */
  13.  
  14. .has-spinner.active .spinner {
  15. opacity: 1;
  16. max-width: 50px; /* More than it will ever come,notice that this affects on animation duration */
  17. }

猜你在找的CSS相关文章