
Hiệu ứng Accordion là gì?
Accordion là một kỹ thuật giúp bạn rút gọn nội dung mà bạn muốn hiển thị trên website. Nó thường được dùng cho việc hiển thị các menu con. Ngoài ra bạn cũng có thể dùng nó cho nội dung, hình ảnh.
Bình thường để làm accordion thì các bạn thường sử dụng thêm jquery để hiệu ứng mượt mà hơn, nhưng bài này tôi hướng dẫn các bạn chỉ sử dụng CSS để làm accordion cũng đẹp không kém.
Mã HTML của hiệu ứng Accordion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <div class="block"> <input type="radio" name="city" id="cityA" checked /> <label for="cityA"><span>Samarkand</span></label> <div class="info"> <p>Samarkand is the second-largest city in Uzbekistan and the capital of Samarqand Province. The city is most noted for its central position on the Silk Road between China and the West, and for being an Islamic centre for scholarly study. </p> </div> </div> <div class="block"> <input type="radio" name="city" id="cityB"/> <label for="cityB"><span>Tashkent</span></label> <div class="info"> <p>Tashkent is the capital of Uzbekistan and of the Tashkent Province. The officially registered population of the city in 2008 was about 2.2 million. Unofficial sources estimate the actual population may be as much as 4.45 million.</p> </div> </div> <div class="block"> <input type="radio" name="city" id="cityC" /> <label for="cityC"><span>Bukhara</span></label> <div class="info"> <p>Bukhara, from the Soghdian βuxārak, is the capital of the Bukhara Province of Uzbekistan. The nation's fifth-largest city, it has a population of 263,400. </p> </div> </div> |
Mã HTML trên gồm 3 cụm thẻ div có cấu trúc giống nhau, và sau này nếu các bạn cần thay đổi nội dung chỉ việc thay đổi theo cấu trúc như trên là được.
Mã CSS Accordion
Mã HTML trên gồm 3 cụm thẻ div có cấu trúc giống nhau, và sau này nếu các bạn cần thay đổi nội dung chỉ việc thay đổi theo cấu trúc như trên là được.
Tiếp theo là phần CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | body{ background: #333 url(/images/classy_fabric.png); width: 460px; margin: 0 auto; padding: 20px; font-family: "Verdana"; font-size: 13px; } .block{ background: linear-gradient(#111, #333); color: #fff; padding-top: 5px; box-shadow: 0 3px 3px #000; line-height: 25px; } .block input[type='radio']:checked ~ .info{ height: 130px; transition: .1s linear; } input[type='radio']{ display: none; } label{ width: 450px; margin-left: 15px; padding-right: 370px; cursor: pointer; } .info{ background: #fff; color: #222; width: 100%; height: 0; padding-left: 15px; display: block; overflow: hidden; box-sizing: border-box; transition: .1s linear; } h4{ color: #fff; text-align: right; text-shadow: 2px 2px 3px #000; position: absolute; bottom: 20px; right: 15px; } h4 a{ color: #fff; text-decoration: none; } ::selection{ background: #222; color: #fff; } .github img{ position: absolute; top: 0; right: 0; border: 0; } |
Mã css trên các bạn chỉ cần chú ý tới thuộc tính transition là mới một chút, còn lại đều là các mã mà các bạn đã làm quen rồi. Vậy là xong, hy vọng sẽ giúp ích cho các bạn trong việc thiết kế website sao cho giảm thời gian load trang càng thấp càng tốt, vì dùng quá nhiều jquery cũng là một lý do tại sao website lại chạy chậm
You must log in to post a comment.