【问题标题】:CSS for input[type="submit"]输入的 CSS [type="submit"]
【发布时间】:2016-11-10 10:56:15
【问题描述】:

在我开始哭泣之前,有人可以解释一下为什么尝试的用于设置提交按钮样式的 CSS 解决方案都没有任何效果吗?我已经使用font-size: 50px 来表明我是否击中了正确的元素,但我还没有:

 input[type="submit"].wysija-submit  {
        border-radius: 10px;
        border: none;
        box-shadow: none;
        font-family: inherit;
        font-size: 50px!important;
    }
    
    .wysija-submit input[type="submit"] {
        border-radius: 10px;
        border: none;
        box-shadow: none;
        font-family: inherit;
        font-size: 50px!important;
    }
    
    .wysija-submit.wysija-submit-field input[type="submit"] {
        border-radius: 10px;
        border: none;
        box-shadow: none;
        font-family: inherit;
        font-size: 50px!important;
    }
   <input class="wysija-submit wysija-submit-field" type="submit" value="Sign-up">
    
   

【问题讨论】:

  • 第一个有效。其他两个是没有意义的(空格表示您的目标是类内部的按钮,而不是您的类应用于按钮)。你的浏览器是什么?
  • in this fiddle 第一个有效。

标签: html css input css-selectors


【解决方案1】:

这个确实有效。

input[type="submit"].wysija-submit  {
    border-radius: 10px;
    border: none;
    box-shadow: none;
    font-family: inherit;
    font-size: 50px!important;
}
&lt;input class="wysija-submit wysija-submit-field" type="submit" value="Sign-up"&gt;

.wysija-submit input[type="submit"].wysija-submit.wysija-submit-field input[type="submit"] 包含 descendant combinators 所以它们不会匹配,因为左侧匹配输入,然后右侧不匹配,因为输入不能有后代。

【讨论】:

  • 附带说明,这似乎不起作用的原因是在 Chrome 上缓存。我进行了一次硬页面重新加载,并且成功了。
【解决方案2】:

CSS 中的空格字符是Descendant Combinator。它告诉你的 CSS 编译器选择前一个选择器的任何后代。

您当前的选择器正在尝试选择具有包含.wysija-submit.wysija-submit-fieldclass 属性的任何元素,然后尝试查找inputtype 元素提交 strong>内部该元素。这适用于以下标记:

<elem class="wysija-submit wysija-submit-field">
  <input type="submit" />
</elem>

为此选择input 元素,其typesubmit ,其class 包含wysija-submitwysija-submit-field,您需要从以下位置更改选择器:

.wysija-submit.wysija-submit-field input[type="submit"] { ... }

收件人:

input[type="submit"].wysija-submit.wysija-submit-field { ... }

【讨论】:

  • 非常感谢!你能解释一下这背后的逻辑吗?
  • @Robin 我已经更新了我的答案。希望这可以解决问题。
  • @Robin 在旁注中我写了一个小型 Web 应用程序,它试图揭示 CSS 选择器在做什么。这可以在selectors.io 找到。粘贴你的选择器会告诉你 CSS 编译器试图用它做什么。
  • @BoltClock 嘿,我想你可能会喜欢它。有一天,我决定既要学习 React 又要提高我的正则表达式知识,这就是结果。这并不完美。一旦我有更多的 React 项目在我身后,我打算重写它,因为我只能想象它目前的状态是一团糟!
  • 我会投票给这个答案,因为它最有帮助,但我标记为解决方案的那个是最简单的。 (虽然想起来我的问题是问“有人可以解释......”你做得非常清楚。呵呵。
猜你喜欢
  • 2012-06-11
  • 2011-04-15
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2014-09-11
  • 1970-01-01
  • 2016-01-23
  • 1970-01-01
相关资源
最近更新 更多