RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1080292
Accepted
Arcadiy
Arcadiy
Asked:2020-02-09 19:31:15 +0000 UTC2020-02-09 19:31:15 +0000 UTC 2020-02-09 19:31:15 +0000 UTC

切换到夜间模式时如何更改表格和元素的颜色?

  • 772

如何让表格的背景在按下之前和之后变为不同的背景和样式(字体颜色),与正文中的不一样?

const container = document.getElementById('container');
const target = document.getElementById('target');

document.body.style.setProperty('--main-color', '#FF9636');

container.addEventListener('click', () => {
  target.classList.toggle('toggle');
  target.classList.toggle('sun');
  target.classList.toggle('moon');

  if(getComputedStyle(document.body).getPropertyValue('--main-color') == '#FF9636') {
    document.body.style.setProperty('--main-color', '#1C3236');
  } else if(getComputedStyle(document.body).getPropertyValue('--main-color') == '#1C3236') {
    document.body.style.setProperty('--main-color', '#FF9636');
  }
});
html, body {
  --main-color: #FFFFFF; 
  width: 100%;
  
  justify-content: center;
  align-items: center;
  background-color: var(--main-color);
  transition: background-color .3s ease-in-out;
}


#container {
  border-radius: 25px;
height: 30px;
width: 80px;
background-color: var(--main-color);
cursor: pointer;
transition: all .3s ease-in-out;
box-shadow: 0px 0px 15px
rgba(0, 0, 0, .15);
margin: 0px auto;
z-index:999999;
}

#target {
  position: relative;
  left: 0px;
  transition: all .3s ease-in-out;
}

.toggle {
  left: calc(100% - 50px) !important;
}

.sun {
 cursor: pointer;
width: 30px;
height: 30px;
border-radius: 50%;
background-color:
#FFDB73;
}

.sun::before {
 content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
border-radius: 50%;
background-color:
#FFDB73;
opacity: .5;
}

.sun::after {
  content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 55px;
height: 55px;
border-radius: 50%;
background-color:
#FFDB73;
opacity: .3;
}
.table-responsive::after {
    background: #000!important;
border-top: 1px solid
    #fff!important;
    color:white;width:100%!important;
}

.moon {
  cursor: pointer;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #0A515B;
  position: relative;
  z-index: 1;
}

.moon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #0A515B;
  opacity: .5;
}

.moon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background-color: #0A515B;
  opacity: .3;
}

.moon > div {
  position: relative;
  width: 100%;
  height: 100%;
}

.moon > div::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background-color: #FFE4BF;
  z-index: 1;
}

.moon > div::after {
  content: '';
  position: absolute;
  top: 10px;
  right: 10px;
  /*transform: translate(-50%, -50%);*/
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #0A515B;
  z-index: 2;
}
<div id='container'>
  <div id='target' class='sun'>
    <div></div>
  </div>
</div>
<table id="table" class="table table-hover">
    <thead>
      <tr>
        <th style="text-align: center;">Заголовок 1</th>
        <th style="text-align: center;">Заголовок 2</th>
        <th class="mob" style="text-align: center;"> Заголовок 3</th> <th style="text-align: center;">Заголовок 4</th> <th class="mob" style="text-align: center;">Заголовок 5</th>

<th> </th>
      </tr>
    </thead><tbody>
<tr>
<td>Данные 1</td>
        <td>Данные 2</td>
      <td>Данные 3</td>
<td>Данные 4</td>
<td>Данные 5</td>
<td>Данные 6</td>
</tr>
</tbody>
</table>

javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    Aleksandr
    2020-02-09T19:47:15Z2020-02-09T19:47:15Z

    创建一个附加变量来存储表格的背景颜色并进行更改:

    const container = document.getElementById('container');
    const table = document.getElementById('table');
    const target = document.getElementById('target');
    
    document.body.style.setProperty('--main-color', '#FF9636');
    
    container.addEventListener('click', () => {
      target.classList.toggle('toggle');
      target.classList.toggle('sun');
      target.classList.toggle('moon');
    
      if(getComputedStyle(document.body).getPropertyValue('--main-color') == '#FF9636') {
        document.body.style.setProperty('--table-color', '#FFFF00');
        document.body.style.setProperty('--main-color', '#1C3236');
      } else if(getComputedStyle(document.body).getPropertyValue('--main-color') == '#1C3236') {
        document.body.style.setProperty('--table-color', '#00FFFF');
        document.body.style.setProperty('--main-color', '#FF9636');
      }
    });
    html, body {
      --main-color: #FFFFFF; 
      --table-color: #00FFFF;
      width: 100%;
      
      justify-content: center;
      align-items: center;
      background-color: var(--main-color);
      transition: background-color .3s ease-in-out;
    }
    
    
    #container {
      border-radius: 25px;
    height: 30px;
    width: 80px;
    background-color: var(--main-color);
    cursor: pointer;
    transition: all .3s ease-in-out;
    box-shadow: 0px 0px 15px
    rgba(0, 0, 0, .15);
    margin: 0px auto;
    z-index:999999;
    }
    
    table{
      background-color: var(--table-color);
    }
    
    #target {
      position: relative;
      left: 0px;
      transition: all .3s ease-in-out;
    }
    
    .toggle {
      left: calc(100% - 50px) !important;
    }
    
    .sun {
     cursor: pointer;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color:
    #FFDB73;
    }
    
    .sun::before {
     content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color:
    #FFDB73;
    opacity: .5;
    }
    
    .sun::after {
      content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color:
    #FFDB73;
    opacity: .3;
    }
    .table-responsive::after {
        background: #000!important;
    border-top: 1px solid
        #fff!important;
        color:white;width:100%!important;
    }
    
    .moon {
      cursor: pointer;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      background-color: #0A515B;
      position: relative;
      z-index: 1;
    }
    
    .moon::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background-color: #0A515B;
      opacity: .5;
    }
    
    .moon::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 75px;
      height: 75px;
      border-radius: 50%;
      background-color: #0A515B;
      opacity: .3;
    }
    
    .moon > div {
      position: relative;
      width: 100%;
      height: 100%;
    }
    
    .moon > div::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 25px;
      height: 25px;
      border-radius: 50%;
      background-color: #FFE4BF;
      z-index: 1;
    }
    
    .moon > div::after {
      content: '';
      position: absolute;
      top: 10px;
      right: 10px;
      /*transform: translate(-50%, -50%);*/
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background-color: #0A515B;
      z-index: 2;
    }
    <div id='container'>
      <div id='target' class='sun'>
        <div></div>
      </div>
    </div>
    <table id="table" class="table table-hover">
        <thead>
          <tr>
            <th style="text-align: center;">Заголовок 1</th>
            <th style="text-align: center;">Заголовок 2</th>
            <th class="mob" style="text-align: center;"> Заголовок 3</th> <th style="text-align: center;">Заголовок 4</th> <th class="mob" style="text-align: center;">Заголовок 5</th>
    
    <th> </th>
          </tr>
        </thead><tbody>
    <tr>
    <td>Данные 1</td>
            <td>Данные 2</td>
          <td>Данные 3</td>
    <td>Данные 4</td>
    <td>Данные 5</td>
    <td>Данные 6</td>
    </tr>
    </tbody>
    </table>

    • 2

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    如何从列表中打印最大元素(str 类型)的长度?

    • 2 个回答
  • Marko Smith

    如何在 PyQT5 中清除 QFrame 的内容

    • 1 个回答
  • Marko Smith

    如何将具有特定字符的字符串拆分为两个不同的列表?

    • 2 个回答
  • Marko Smith

    导航栏活动元素

    • 1 个回答
  • Marko Smith

    是否可以将文本放入数组中?[关闭]

    • 1 个回答
  • Marko Smith

    如何一次用多个分隔符拆分字符串?

    • 1 个回答
  • Marko Smith

    如何通过 ClassPath 创建 InputStream?

    • 2 个回答
  • Marko Smith

    在一个查询中连接多个表

    • 1 个回答
  • Marko Smith

    对列表列表中的所有值求和

    • 3 个回答
  • Marko Smith

    如何对齐 string.Format 中的列?

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5