What we are going to share today is a CSS3 scoring statistics application, which uses the characteristics of column statistics and progress bars, and is relatively simple and beautiful overall.
Advertisement
<div class="reviews-container"> <h2>Reviews</h2> <div class="review"> <span class="icon-container">5 <i class="fas fa-star"></i></span> <div class="progress"> <div class="progress-done" data-done="68"></div> </div> <span class="percent">68%</span> </div> <div class="review"> <span class="icon-container">4 <i class="fas fa-star"></i></span> <div class="progress"> <div class="progress-done" data-done="13"></div> </div> <span class="percent">13%</span> </div> <div class="review"> <span class="icon-container">3 <i class="fas fa-star"></i></span> <div class="progress"> <div class="progress-done" data-done="9"></div> </div> <span class="percent">9%</span> </div> <div class="review"> <span class="icon-container">2 <i class="fas fa-star"></i></span> <div class="progress"> <div class="progress-done" data-done="3"></div> </div> <span class="percent">3%</span> </div> <div class="review"> <span class="icon-container">1 <i class="fas fa-star"></i></span> <div class="progress"> <div class="progress-done" data-done="7"></div> </div> <span class="percent">7%</span> </div> </div>
* {
box-sizing: border-box;
}
body {
background: linear-gradient(to right, #9796f0, #fbc7d4);
color: #333;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-family: 'Muli';
height: 100vh;
margin: 0;
}
.reviews-container {
background-color: #fff;
border-radius: 5px;
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 0.3);
padding: 20px;
}
.review {
border: 1px solid transparent;
border-radius: 5px;
color: #777;
display: flex;
font-size: 12px;
align-items: center;
padding: 10px;
margin: 5px 0;
}
const progressDone = document.querySelectorAll('.progress-done');
progressDone.forEach(progress => {
progress.style.width = progress.getAttribute('data-done') + '%';
});
const floating_btn = document.querySelector('.floating-btn');
const close_btn = document.querySelector('.close-btn');
const social_panel_container = document.querySelector('.social-panel-container');
floating_btn.addEventListener('click', () => {
social_panel_container.classList.toggle('visible')
});
close_btn.addEventListener('click', () => {
social_panel_container.classList.remove('visible')
});
Advertisement