Html
<section class="offer-section"> <div class="auto-container"> <div class="sec-title"> <h2 class="sec-title">Contactez-nous</h2> <div class="text">What We Provide For You check now and deside it<br> do you want now this</div> </div> <div class="row-form"> <div class="column is-6 form-column"> <div class="inner-column"> <div class="discount-form"> <div class="text">Remplissez le formulaire, notre responsable vous contactera pour plus de détails.</div> <form action="#" method="post" id="email-form"> <div class="form-group"> <div class="response"></div> </div> <div class="form-group"> <input type="text" name="username" class="username" placeholder="Your Name *"> </div> <div class="form-group"> <input type="email" name="email" class="email" placeholder="Your Email *"> </div> <div class="form-group"> <textarea name="contact_message" class="message" placeholder="Text Message"></textarea> </div> <div class="form-group"> <button class="theme-btn btn-style-wood" type="button" id="submit" name="submit-form"> <span class="btn-title">Envoyer</span> <span></span> <span></span> <span></span> <span></span> <span></span> </button> </div> </form> </div> </div> </div> <div class="column is-6 content-column"> <div class="inner-column"> <span class="title">Offre spécial</span> <h2>Comment économisé <span class="discount">50%</span> <br>d'argent dans les répérations</h2> <div class="text">Not everyone Knows and where but there are 10 very importent tips, how each it is to save up to 50% on repairs, and on the money saved to buy new applicances.</div> <div class="fact-counter"> <div class="row-form"> <div class="counter-column wow fadeInUp"> <div class="inner-column"> <span class="icon flaticon-carpentry"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="10">0</span></div> <h4 class="counter-title">Years of Carpenting <br>Experience</h4> </div> </div> <div class="counter-column wow fadeInUp" data-wow-delay="300ms"> <div class="inner-column"> <span class="icon flaticon-door-1"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="58">0</span></div> <h4 class="counter-title">Local Branches in <br>City New York</h4> </div> </div> <div class="counter-column wow fadeInUp" data-wow-delay="600ms"> <div class="inner-column"> <span class="icon flaticon-team"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="8">0</span>k</div> <h4 class="counter-title">Happy Customer <br>with our work</h4> </div> </div> </div> </div> </div> </div> </div> </div> </section>
Css
.sec-title h2 { position: relative; display: inline-block; font-size: 60px; color: #353535; line-height: 1em; font-weight: 600; cursor: default; -webkit-text-stroke: 1px #353535; } .row-form { display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; justify-content: center; margin-right: -15px; margin-left: -15px; } .offer-section{ position: relative; padding: 120px 0 70px; overflow: hidden; background-position: center top; background-repeat: no-repeat; background-size: 100% auto; background-color: #fafafa; } .offer-section:before { position: absolute; left: 0; top: 0; height: 100%; width: 100%; background-color: #ffffff; opacity: .10; content: ""; } .offer-section:after{ position: absolute; left: 0; top: 0; height: 100%; width: 100%; background-repeat: repeat; content: ""; opacity: .40; } .offer-section .content-column{ position: relative; margin-bottom: 50px; z-index: 1; } .offer-section .content-column > .inner-column{ position: relative; padding: 50px 30px 30px; box-shadow: 0 0 30px rgba(0,0,0,0.05); margin-left: -80px; padding-left: 100px; background: #fff; margin-top: 30px; } .offer-section .content-column .title{ position: relative; display: inline-block; font-size: 16px; line-height: 30px; color: #ffffff; font-weight: 500; padding: 0 15px; background-color: #ab7442; text-transform: uppercase; margin-bottom: 20px; } .offer-section .content-column .title:before{ position: absolute; top: 0; left: 100%; border-right: 20px solid transparent; border-top: 30px solid #ab7442; content: ""; } .offer-section .content-column h2{ position: relative; display: block; font-size: 32px; line-height: 1.4em; color: #353535; font-weight: 500; text-transform: capitalize; margin-bottom: 20px; } .offer-section .content-column h2 .discount{ position: relative; display: inline-block; font-size: 48px; line-height: 1em; color: #ab7442; font-weight: 500; } .offer-section .content-column .text{ position: relative; margin-bottom: 30px; } .offer-section .fact-counter{ position: relative; } .offer-section .fact-counter .counter-column{ position:relative; margin-bottom: 30px; } .offer-section .fact-counter .counter-column .inner-column{ position: relative; text-align: center; box-shadow: none; margin: 10px; } .offer-section .fact-counter .icon{ position: relative; display: block; font-size: 50px; text-align: center; color: #ab7442; margin-bottom: 10px; line-height: 1em; } .offer-section .fact-counter .count-box{ position: relative; display: block; font-size:40px; line-height: 1em; font-weight:700; color:#353535; margin-bottom: 10px; } .offer-section .fact-counter .count-box .count-text{ position:relative; font-size:40px; line-height: 1em; font-weight:700; color:#353535; } .offer-section .fact-counter .counter-title{ position: relative; display: block; font-size:16px; line-height:24px; font-weight:400; color:#353535; } .offer-section .form-column{ position: relative; z-index: 9; margin-bottom: 50px; } .offer-section .form-column .inner-column{ position: relative; padding-right: 40px; } .offer-section .form-column .text{ position: relative; display: block; font-weight: 500; padding: 15px 30px; font-size: 16px; background: #ffffff; border:1px solid #dddddd; margin-bottom: 30px; } .offer-section .discount-form{ position: relative; background-color: #cccccc; padding: 50px 30px 30px; border: 10px solid #ffffff; box-shadow: 0px 0px 30px rgba(0,0,0,0.15); } .discount-form .form-group{ position:relative; margin-bottom:20px; } .discount-form .form-group input[type="text"], .discount-form .form-group input[type="email"], .discount-form .form-group input[type="url"], .discount-form .form-group textarea, .discount-form .form-group select{ position: relative; display: block; width: 100%; font-size: 14px; color: #353535; line-height: 20px; padding: 14px 20px; background-color: rgba(255,255,255,1); border: 1px solid #dddddd; font-weight: 400; border-radius: 5px; -webkit-transition: all 300ms ease; -moz-transition: all 300ms ease; -ms-transition: all 300ms ease; -o-transition: all 300ms ease; transition: all 300ms ease; outline: none; } .discount-form .form-group input:focus, .discount-form .form-group select:focus, .discount-form .form-group textarea:focus{ border-color:#ab7442; } .discount-form .form-group textarea{ height: 160px; resize: none; padding-top: 20px; } .discount-form .form-group button{ } .theme-btn{ display:inline-block; text-align: center; text-transform: uppercase; -webkit-transition:all 0.5s ease; -moz-transition:all 0.5s ease; -ms-transition:all 0.5s ease; -o-transition:all 0.5s ease; transition:all 0.5s ease; cursor: pointer; border: none; outline: none; } .theme-btn .btn-title{ position: relative; z-index: 9; color: inherit; } .theme-btn span:not(.btn-title){ position: absolute; left: 0; bottom: 0; width: 20%; height: 100%; border-radius: 50%; transform: translateY(150%); transition: all 500ms ease; background-color: #ab7442; z-index: 0; } .theme-btn span:nth-child(2){ left: 20%; transition-delay: 100ms; } .theme-btn span:nth-child(3){ left: 40%; transition-delay: 200ms; } .theme-btn span:nth-child(4){ left: 60%; transition-delay: 300ms; } .theme-btn span:nth-child(5){ left: 80%; transition-delay: 400ms; } .theme-btn:hover span{ transform: translateY(0) scale(2); } .btn-style-wood{ position: relative; font-size: 16px; line-height: 30px; color: #ffffff; padding: 11px 30px 9px; font-weight: 600; border-radius: 5px; background-color: #ab7442; overflow: hidden; } .btn-style-wood:hover{ color: #ab7442; box-shadow: 0 10px 20px rgba(0,0,0,0.10); } .btn-style-wood span:not(.btn-title){ background-color: #ffffff !important; } .centered{ text-align:center !important; } @media screen and (max-width: 768px) { .row-form { display: flex; flex-flow: column-reverse; } .offer-section .form-column .inner-column{ padding-right: 0; } }
JavaScript
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
(Crée un fichier appear.js et mettre le code ci dessous dans le fichier appear.js)
<script src="appear.js"> /* * jQuery.appear * https://github.com/bas2k/jquery.appear/ * http://code.google.com/p/jquery-appear/ * http://bas2k.ru/ * * Copyright (c) 2009 Michael Hixson * Copyright (c) 2012-2014 Alexander Brovikov * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php) */ (function($) { $.fn.appear = function(fn, options) { var settings = $.extend({ //arbitrary data to pass to fn data: undefined, //call fn only on the first appear? one: true, // X & Y accuracy accX: 0, accY: 0 }, options); return this.each(function() { var t = $(this); //whether the element is currently visible t.appeared = false; if (!fn) { //trigger the custom event t.trigger('appear', settings.data); return; } var w = $(window); //fires the appear event when appropriate var check = function() { //is the element hidden? if (!t.is(':visible')) { //it became hidden t.appeared = false; return; } //is the element inside the visible window? var a = w.scrollLeft(); var b = w.scrollTop(); var o = t.offset(); var x = o.left; var y = o.top; var ax = settings.accX; var ay = settings.accY; var th = t.height(); var wh = w.height(); var tw = t.width(); var ww = w.width(); if (y + th + ay >= b && y <= b + wh + ay && x + tw + ax >= a && x <= a + ww + ax) { //trigger the custom event if (!t.appeared) t.trigger('appear', settings.data); } else { //it scrolled out of view t.appeared = false; } }; //create a modified fn with some additional logic var modifiedFn = function() { //mark the element as visible t.appeared = true; //is this supposed to happen only once? if (settings.one) { //remove the check w.unbind('scroll', check); var i = $.inArray(check, $.fn.appear.checks); if (i >= 0) $.fn.appear.checks.splice(i, 1); } //trigger the original fn fn.apply(this, arguments); }; //bind the modified fn to the element if (settings.one) t.one('appear', settings.data, modifiedFn); else t.bind('appear', settings.data, modifiedFn); //check whenever the window scrolls w.scroll(check); //check whenever the dom changes $.fn.appear.checks.push(check); //check now (check)(); }); }; //keep a queue of appearance checks $.extend($.fn.appear, { checks: [], timeout: null, //process the queue checkAll: function() { var length = $.fn.appear.checks.length; if (length > 0) while (length--) ($.fn.appear.checks[length])(); }, //check the queue asynchronously run: function() { if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout); $.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20); } }); //run checks when these methods are called $.each(['append', 'prepend', 'after', 'before', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'remove', 'css', 'show', 'hide'], function(i, n) { var old = $.fn[n]; if (old) { $.fn[n] = function() { var r = old.apply(this, arguments); $.fn.appear.run(); return r; } } }); })(jQuery); </script>
<script> (function($) { if($('.count-box').length){ $('.count-box').appear(function(){ var $t = $(this), n = $t.find(".count-text").attr("data-stop"), r = parseInt($t.find(".count-text").attr("data-speed"), 10); if (!$t.hasClass("counted")) { $t.addClass("counted"); $({ countNum: $t.find(".count-text").text() }).animate({ countNum: n }, { duration: r, easing: "linear", step: function() { $t.find(".count-text").text(Math.floor(this.countNum)); }, complete: function() { $t.find(".count-text").text(this.countNum); } }); } },{accY: 0}); } function enableMasonry() { if($('.sortable-masonry').length){ var winDow = $(window); // Needed variables var $container=$('.sortable-masonry .items-container'); var $filter=$('.filter-btns'); $container.isotope({ filter:'*', masonry: { columnWidth : 1 }, animationOptions:{ duration:500, easing:'linear' } }); $filter.find('li').on('click', function(){ var selector = $(this).attr('data-filter'); try { $container.isotope({ filter : selector, animationOptions: { duration: 500, easing : 'linear', queue : false } }); } catch(err) { } return false; }); winDow.on('resize', function(){ var selector = $filter.find('li.active').attr('data-filter'); $container.isotope({ filter : selector, animationOptions: { duration: 500, easing : 'linear', queue : false } }); }); var filterItemA = $('.filter-btns li'); filterItemA.on('click', function(){ var $this = $(this); if ( !$this.hasClass('active')) { filterItemA.removeClass('active'); $this.addClass('active'); } }); } } })(window.jQuery); </script>
À placer avant la fermeture du body.
Compteur js seul
Html
<section class="offer-section"> <div class="column is-6 content-column"> <div class="inner-column"><span class="title">Offre spécial</span> <h2>Comment économisé <span class="discount">50%</span><br>d'argent dans les répérations</h2> <div class="text">Not everyone Knows and where but there are 10 very importent tips, how each it is to save up to 50% on repairs, and on the money saved to buy new applicances.</div> <div class="fact-counter"> <div class="row-form"> <div class="counter-column wow fadeInUp"> <div class="inner-column"><span class="icon flaticon-carpentry"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="10">0</span></div> <h4 class="counter-title">Years of Carpenting <br>Experience</h4> </div> </div> <div class="counter-column wow fadeInUp" data-wow-delay="300ms"> <div class="inner-column"><span class="icon flaticon-door-1"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="58">0</span></div> <h4 class="counter-title">Local Branches in <br>City New York</h4> </div> </div> <div class="counter-column wow fadeInUp" data-wow-delay="600ms"> <div class="inner-column"><span class="icon flaticon-team"></span> <div class="count-box"><span class="count-text" data-speed="3000" data-stop="8">0</span>k</div> <h4 class="counter-title">Happy Customer <br>with our work</h4> </div> </div> </div> </div> </div> </div> </section>
Formulaire de contact seul
Html
<section class="offer-section"> <div class="auto-container"> <div class="sec-title"> <h2 class="sec-title">Contactez-nous</h2> <div class="text">What We Provide For You check now and deside it<br> do you want now this</div> </div> <div class="row-form"> <div class="column is-6 form-column"> <div class="inner-column"> <div class="discount-form"> <div class="text">Remplissez le formulaire, notre responsable vous contactera pour plus de détails.</div> <form action="#" method="post" id="email-form"> <div class="form-group"> <div class="response"></div> </div> <div class="form-group"> <input type="text" name="username" class="username" placeholder="Your Name *"> </div> <div class="form-group"> <input type="email" name="email" class="email" placeholder="Your Email *"> </div> <div class="form-group"> <textarea name="contact_message" class="message" placeholder="Text Message"></textarea> </div> <div class="form-group"> <button class="theme-btn btn-style-wood" type="button" id="submit" name="submit-form"> <span class="btn-title">Envoyer</span> <span></span> <span></span> <span></span> <span></span> <span></span> </button> </div> </form> </div> </div> </div> </div> </div> </section>