当前位置: 首页 > 知识库问答 >
问题:

在深色或浅色模式下更改输入文本颜色

东门焕
2023-03-14

我创建了一个暗/亮主题切换器,我发现的问题是当我在输入域输入任何信息时,当网站在暗模式下时,输入域内的文本显示为黑色,我如何改变它,在亮模式下保持黑色文本颜色,在暗模式下保持白色文本颜色。

这是我的CSS为光明/黑暗模式。如何为黑暗模式添加不同的文本颜色?

:root {
    --primary-color: rgb(82, 80, 144);
    --secondary-color: #536390;
    --font-color: #424242;
    --bg-color: #fff;
    --heading-color: #292922;
    --color: black;
  }
  [data-theme="dark"] {
    --primary-color: rgb(107, 106, 134);
    --secondary-color: #818cab;
    --font-color: #e1e1ff;
    --bg-color: #4d5055;
    --heading-color: #63656d;
    --color: white; 
  }
  body {
    background-color: var(--bg-color);
    color: var(--font-color);
  }
  h1 {
    color: var(--secondary-color);
  }

  a{
    color: var(--primary-color);
  }
input {
color: var(--color);
}
<div class="input-field" data-theme="dark">
<input type="text" id="searchquery" placeholder="Type here">
</div>

我试图用这段代码,但它在黑暗和光明模式下都发生了变化。

input, select, textarea{
    color: #ff0000;
}

编辑:我从下面的回答中添加内容。它现在工作只有一个问题,当我改变到光模式时,输入文本颜色仍然是白色,但假设是黑色。

共有1个答案

堵乐
2023-03-14

在您的示例中,您需要在标签或任何父项中添加属性data-theme=“dark”以使其生效。希望这能帮到你。

:root {
    --primary-color: rgb(82, 80, 144);
    --secondary-color: #536390;
    --font-color: #424242;
    --bg-color: #fff;
    --heading-color: #292922;
    --color: black;
  }
  [data-theme="dark"] {
    --primary-color: rgb(107, 106, 134);
    --secondary-color: #818cab;
    --font-color: #e1e1ff;
    --bg-color: #4d5055;
    --heading-color: #63656d;
    --color: red; 
  }
  body {
    background-color: var(--bg-color);
    color: var(--font-color);
  }
  h1 {
    color: var(--secondary-color);
  }

  a{
    color: var(--primary-color);
  }

input {
    color: var(--color);
  }
<h1 data-theme="dark">Input with data-theme attribute "dark"</h1>
<div class="input-field" data-theme="dark">
    <input type="text" id="searchquery" placeholder="Type here">
</div>

<h1>Input wihout data-theme attribute "dark"</h1>
<div class="input-field">
    <input type="text" id="searchquery" placeholder="Type here">
</div>
 类似资料:
  • 问题内容: 我想在字体为时使用光标。 那可能吗? 问题答案: 您可以定制一个。

  • 我一直试图改变我的时间选择器的文本颜色。但是我找不到父样式的位置。我两个都试过了 和 我的是15。我的是20。我已经重建并清理了我的项目 我想我已经解决了所有类似的问题,但没有一个真正为我提供了解决方案。唯一可行的答案是使用某种库,但我不太喜欢这种解决方案。到父级的路径是否与我正在使用的路径有所不同,因为我非常确定我应该能够以某种方式访问它? 编辑 这是主题的应用方式; 请注意,这是我收到的错误(

  • 当文本输入为空时,我需要将按钮设置为灰色,一旦所有字段都已填写,请将其更改为蓝色。 login.tsx 从'React'导入React,{useState};从'react native'导入{View、Text、TextInput、TouchableOpacity};从'../../../infrastructure/components/buttons/button-outline prima

  • 遵循这篇文章(样式文本输入占位符),我可以将文本输入占位符的颜色改为红色。但它总是一种浅红色,并不完全是红色。 有什么办法可以使它变成红色吗? 更新

  • 如何将标题字体颜色更改为白色,填充为绿色?以下是我正在使用的类: 我相信,这是必须插入的代码。

  • 我正在做我的项目,在某个阶段,我需要更改某些单词的颜色(在本例中是Hashtags)。 控制器中有以下代码: (请注意,“resultado”是一个有效字符串,可以毫无问题地获取推文) 我使用listaPropia从原始列表中获取所需内容 此时,我应该有完整的项目列表,“textoAManipular”字段应该有一个从class=“elem1”到class=“elem5”的标记 现在,在视图中: