1、新建html文档。
2、书写hmtl代码。<div class="pricing-container"><div class="pricing-switcher"> <p class="fieldset"> <input type="radio" name="duration-1" value="monthly" id="monthly-1" checked> <label for="monthly-1">Monthly</label> <input type="radio" name="duration-1" value="yearly" id="yearly-1"> <label for="yearly-1">Yearly</label> <span class="switch"></span> </p></div><ul class="pricing-list bounce-invert"> <li> <ul class="pricing-wrapper"> <li data-type="monthly" class="is-visible"> <header class="pricing-header"> <h2>Basic</h2> <div class="price"> <span class="currency">$</span> <span class="value">30</span> <span class="duration">mo</span> </div> </header> <div class="pricing-body"> <ul class="pricing-features"> <li><em>5</em> Email Accounts</li> <li><em>1</em> Template Style</li> <li><em>25</em> Products Loaded</li> <li><em>1</em> Image per Product</li> <li><em>Unlimited</em> Bandwidth</li> <li><em>24/7</em> Support</li> </ul> </div> <footer class="pricing-footer"> <a class="select" href="#">Sign Up</a> </footer> </div>
3、书写css代码。.pricing-container { width: 90%; max-width: 1170px; margin: 4em auto; }.pricing-container { margin: 6em auto; }.pricing-container.full-width { width: 100%; max-width: none; }.pricing-switcher { text-align: center; }.pricing-switcher .fieldset { display: inline-block; position: relative; padding: 2px; border-radius: 50em; border: 2px solid #2d3e50; }.pricing-switcher input[type="radio"] { position: absolute; opacity: 0; }.pricing-switcher label { position: relative; z-index: 1; display: inline-block; float: left; width: 90px; height: 40px; line-height: 40px; cursor: pointer; font-size: 1.4rem; color: #ffffff; }.pricing-switcher .switch { position: absolute; top: 2px; left: 2px; height: 40px; width: 90px; background-color: #2d3e50; border-radius: 50em; -webkit-transition: -webkit-transform 0.5s; -moz-transition: -moz-transform 0.5s; transition: transform 0.5s; }.pricing-switcher input[type="radio"]:checked + label + .switch, .pricing-switcher input[type="radio"]:checked + label:nth-of-type(n) + .switch { -webkit-transform: translateX(90px); -moz-transform: translateX(90px); -ms-transform: translateX(90px); -o-transform: translateX(90px); transform: translateX(90px); }.no-js .pricing-switcher { display: none; }.pricing-list { margin: 2em 0 0; }.pricing-list > li { position: relative; margin-bottom: 1em; }@media only screen and (min-width: 768px) {.pricing-list { margin: 3em 0 0; }.pricing-list:after { content: ""; display: table; clear: both; }.pricing-list > li { width: 33.3333333333%; float: left; padding-left: 5px; padding-right: 5px; }.has-margins .pricing-list > li { width: 32.3333333333%; float: left; margin-right: 1.5%; }.has-margins .pricing-list > li:last-of-type { margin-right: 0; }}
4、书写并添加js代码。<script src="js/jquery.min.js"></script><script src="js/modernizr.min.js"></script><script>jQuery(document).ready(function($){ checkScrolling($('.pricing-body')); $(window).on('resize', function(){ window.requestAnimationFrame(function(){checkScrolling($('.pricing-body'))}); }); $('.pricing-body').on('scroll', function(){ var selected = $(this); window.requestAnimationFrame(function(){checkScrolling(selected)}); }); function checkScrolling(tables){ tables.each(function(){ var table= $(this), totalTableWidth = parseInt(table.children('.pricing-features').width()), tableViewport = parseInt(table.width()); if( table.scrollLeft() >= totalTableWidth - tableViewport -1 ) { table.parent('li').addClass('is-ended'); } else { table.parent('li').removeClass('is-ended'); } }); } bouncy_filter($('.pricing-container'));</script>
5、代码整体结构。
6、查看效果。