我想在白色圆圈内放置一个图标,表示切换是什么,但我无法让图标显示在正确的位置,更不用说跟随圆圈的go 向了.我一直在try 使用字体令人敬畏的图标.
我想要的是
Either one of these is my end goal, but I still have a hard time figuring out how to make it work.
我的现有代码
如果有帮助的话,this是我正在工作的网站.
这是一个css
/* Toggle Styles */
.toggle-container {
text-align: center;
margin-top: 20px;
margin-bottom: 20px
}
.toggle {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.toggle input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
border-radius: 34px;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: 0.4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
border-radius: 50%;
transition: 0.4s;
}
input:checked + .slider {
background-color: #2FA28D; /* Color for dark mode background */
}
input:checked + .slider:before {
transform: translateX(26px);
}
我不知道这个脚本是否重要,但它是这样的:
const modeToggle = document.getElementById('modeToggle');
const body = document.body;
modeToggle.addEventListener('change', () => {
if (modeToggle.checked) {
body.classList.add('dark-mode');
body.classList.remove('light-mode');
localStorage.setItem('mode', 'dark');
} else {
body.classList.add('light-mode');
body.classList.remove('dark-mode');
localStorage.setItem('mode', 'light');
}
});
// Check localStorage for saved mode preference
const savedMode = localStorage.getItem('mode');
if (savedMode === 'dark') {
body.classList.add('dark-mode');
modeToggle.checked = true;
} else {
body.classList.add('light-mode');
modeToggle.checked = false;
}
我try 在切换中放置一个i
元素,如下所示:
<label class="toggle">
<input type="checkbox" id="modeToggle">
<span class="slider round"></span>
<i class="fas-fa-moon"></i>
</label>
与不带它的对比:
<label class="toggle">
<input type="checkbox" id="modeToggle">
<span class="slider round"></span>
</label>
我还try 了用其他各种我没有余地的方式来更新css.我对css还很陌生,所以现在任何东西都会有帮助.