screen_rotation
Copied to Clipboard
<html> <head> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <h1>Vue Js Change SVG Size Using Range Slider</h1> <div id="app" class="container"> <div class="svg-wrapper"> <svg :width="size" :height="size" xmlns="http://www.w3.org/2000/svg" fill="currentColor" class="bi bi-alarm circle" viewBox="0 0 16 16"> <path d="M8.5 5.5a.5.5 0 0 0-1 0v3.362l-1.429 2.38a.5.5 0 1 0 .858.515l1.5-2.5A.5.5 0 0 0 8.5 9V5.5z" /> <path d="M6.5 0a.5.5 0 0 0 0 1H7v1.07a7.001 7.001 0 0 0-3.273 12.474l-.602.602a.5.5 0 0 0 .707.708l.746-.746A6.97 6.97 0 0 0 8 16a6.97 6.97 0 0 0 3.422-.892l.746.746a.5.5 0 0 0 .707-.708l-.601-.602A7.001 7.001 0 0 0 9 2.07V1h.5a.5.5 0 0 0 0-1h-3zm1.038 3.018a6.093 6.093 0 0 1 .924 0 6 6 0 1 1-.924 0zM0 3.5c0 .753.333 1.429.86 1.887A8.035 8.035 0 0 1 4.387 1.86 2.5 2.5 0 0 0 0 3.5zM13.5 1c-.753 0-1.429.333-1.887.86a8.035 8.035 0 0 1 3.527 3.527A2.5 2.5 0 0 0 13.5 1z" /> </svg> <input type="range" min="10" max="200" v-model="size" class="slider" style="margin-top: 20px;"> </div> </div> <script type="module"> const app = new Vue({ el: "#app", data() { return { size: 100 } }, }); </script> <style> body { font-family: Arial, sans-serif; margin: 0; padding: 0; background-color: #f5f5f5; } .container { display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 50px; } .circle { transition: all 0.3s ease-in-out; } .slider { margin-top: 20px; -webkit-appearance: none; background-color: #ddd; height: 5px; outline: none; opacity: 0.7; -webkit-transition: .2s; transition: opacity .2s; width: 100%; } .slider:hover { opacity: 1; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 15px; height: 15px; border-radius: 50%; background-color: #4CAF50; cursor: pointer; } .slider::-moz-range-thumb { width: 15px; height: 15px; border-radius: 50%; background-color: #4CAF50; cursor: pointer; } #app { text-align: center; } </style> </body> </html>