Buttons (CSS3) and buttons (css3)

Source: Internet
Author: User

Buttons (CSS3) and buttons (css3)

Preview The effect first

The Transition attribute of CSS3 is used: Set the animation time and effect; Transform attribute: Set the element rotation and displacement; box-sizing attribute: define specific elements of a region in a specific way;

Method for creating a triangle:

1 width: 0; height: 0; overflow: hidden; 2 border: 7px solid transparent; 3 border-top-color: #2dcb70;/* width and height are all zero, set the border to transparent first, and then set the color of the border separately as needed */
 

HTML code

 1 <div class="box"> 2     <div class="link link-miss"> 3         <span class="icon"></span> 4         <a href="#" class="button" data="My mission is clear"> 5             <span class="line line-top"></span> 6             <span class="line line-right"></span> 7             <span class="line line-bottom"></span> 8             <span class="line line-left"></span> 9             MISSION10         </a>11     </div>12     <div class="link link-play">13         <span class="icon"></span>14         <a href="#" class="button" data="This is my playGroup">15             <span class="line line-top"></span>16             <span class="line line-right"></span>17             <span class="line line-bottom"></span>18             <span class="line line-left"></span>19             PLAY20         </a>21     </div>22     <div class="link link-touch">23         <span class="icon"></span>24         <a href="#" class="button" data="This is my Touch">25             <span class="line line-top"></span>26             <span class="line line-right"></span>27             <span class="line line-bottom"></span>28             <span class="line line-left"></span>29             TOUCH30         </a>31     </div>32     <div class="tip">33         <em></em><span></span>34     </div>35 </div>

CSS code

1 * {margin: 0; 2 padding: 0;} 3 4 body {background: #333;} 5. box {6 width: 800px; height: 280px; margin: 50px auto; 7} 8. box. link {9 width: 205px; height: 280px; float: left; margin: 0 20px; 10} 11. link. icon {12 display: inline-block; width: 100%; height: pixel; cursor: pointer; 13 transition: bytes-out 0.2 s; 14} 15. link-miss. icon {16 background: url (.. /images/mission.png) no-repeat center; 17} 18. link-play. icon {19 background: url (.. /images/play.png) no-repeat center; 20} 21. link-touch. icon {22 background: url (.. /images/touch.png) no-repeat center; 23} 24. link. icon: hover {25 transform: rotate (360deg) scale (1.2); 26} 27. button {28 display: block; width: 180px; height: 50px; line-height: 50px; text-decoration: none; color: #2dcb70; 29 font-family: Arial; font-weight: bolder; border: 2px solid rgba (255,255,255, 0.6); 30 padding-left: 20px; margin: 0 auto; background: url (.. /images/allow.png) no-repeat 130px center; 31 box-sizing: border-box; 32 transition: 0.4 s loading; 33 position: relative; 34} 35. button: hover {36 border: 2px solid rgba (255,255,255, 1); 37 background-position: 140px center; 38} 39/* 40 CSS3 -- Transition 41 Syntax: transition: property duration timing-function delay; 42 Description: 43 transition-property: Specifies the name of the CSS attribute for setting the transition effect; 44 transition-duration: specifies the number of seconds or milliseconds required to complete the transition effect; 45 transition-timing-function: Specifies the speed curve of the speed effect; 46 transition-delay: defines when the transition effect starts; 47 CSS3 -- Transform 48 transform attribute applies 2D or 3D conversion to the element; this attribute allows us to rotate, zoom, move, or tilt elements. 49 CSS3 -- box-sizing 50 box-sizing attribute allows us to define specific elements that match a region in a specific way; 51 Syntax: box-sizing: content-box | border-box | inherit; 52 Description: 53 content-box :( default) the width and height are respectively applied to the content box of the element, draw the element's padding and border based on the width and height; 54 border-box: any padding and border specified for the element will be drawn within the configured width and height; 55. The actual width and height of the content can be obtained by subtracting the border and the padding from the configured width and height respectively. 56 */57. button. line {58 position: absolute; background: none; transition: 0.4 s; 59} 60. button: hover. line {61 background: # f00; 62} 63 64. button. line-top {65 width: 0px; height: 2px; top:-2px; left:-110%; 66} 67. button: hover. line-top {68 width: 180px; left:-2px; 69} 70 71. button. line-right {72 width: 2px; height: 0px; right:-2px; top:-110%; 73} 74. button: hover. line-right {75 height: 50px; top:-2px; 76} 77 78. button. line-bottom {79 width: 0px; height: 2px; bottom:-2px; right:-110%; 80} 81. button: hover. line-bottom {82 width: 180px; right:-2px; 83} 84 85. button. line-left {86 width: 2px; height: 0px; left:-2px; bottom:-110%; 87} 88. button: hover. line-left {89 height: 50px; bottom:-2px; 90} 91. tip {92 position: absolute; padding: 0 14px; height: 35px; line-height: 35px; background: #2dcb70; 93 color: # fff; font-size: 18px; margin: 0 auto; border-radius: 3px; top: 160px; opacity: 0; 94} 95. tip em {96 font-style: normal; font-size: 18px; color: # fff; 97} 98. tip span {99 display: block; width: 0; height: 0; overflow: hidden; position: absolute; top: 35px; left: 50%; 100 border: 7px solid transparent; border-top-color: #2dcb70; margin-left:-3px; 101}

JQuery code

 1 $(function(){ 2     $('.link .button').hover(function(){ 3         var title = $(this).attr('data'); 4         $('.tip em').text(title); 5         var pos = $(this).offset().left; 6         var dis = parseInt($('.tip').outerWidth()-$(this).outerWidth())/2; 7         var l = pos - dis;  8         $('.tip').css({'left':l+'px'}).animate({'top':180,'opacity':1},300); 9     },function(){10         if(!$('.tip').is(':animated')){11             $('.tip').animate({'top':160,'opacity':0},50);12         }13     })14 });

Learning from MOOC network http://www.imooc.com/learn/5

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.