【问题标题】:remove inner shadow of text input去除文本输入的内阴影
【发布时间】:2012-09-29 06:55:26
【问题描述】:

所以我有一个文本输入,我在 chrome 上使用 html5,我想更改文本输入的外观,我已经删除了焦点上的轮廓(chrome 上的橙色),我将背景设置为光颜色#f1f1f1,但现在顶部和左侧有一个更厚的边框,就像它看起来被推入一样,当背景颜色没有变化时,这不会发生。如何删除它?抱歉,我无法在移动设备上提供图片。

它发生在 chrome、ie 和 Firefox 上,不能测试任何其他的。

【问题讨论】:

    标签: html css input


    【解决方案1】:

    border-style:solid; 将覆盖 inset 样式。这是你问的。

    border:none 将一起移除边框。

    border-width:1px 会将其设置为类似于背景更改之前的状态。

    border:1px solid #cccccc 更具体,适用于宽度、样式和颜色这三个方面。

    示例:https://jsbin.com/quleh/2/edit?html,output

    【讨论】:

    • 第一行border-style: solid是这个问题的最佳答案。
    • border-style: 没有答案是正在寻找
    【解决方案2】:

    这是移动 safari 的解决方案:

      appearance: none;
      -moz-appearance: none;
      -webkit-appearance: none;
    

    根据https://developer.mozilla.org/en-US/docs/Web/CSS/appearance

    并按照此处的建议:Remove textarea inner shadow on Mobile Safari (iPhone)

    【讨论】:

    • 用作魅力
    【解决方案3】:

    目前没有任何解决方案有效。 这是我的解决方案。您可以添加前缀。

    box-shadow: inset 0px 0px 0px 0px red;
    

    【讨论】:

      【解决方案4】:

      添加border: noneborder: 0 以完全删除边框,或添加border: 1px solid #ccc 以使边框变细变平。

      要移除 Firefox 中的幽灵填充,您可以使用 ::-moz-focus-inner:

      ::-moz-focus-inner {
          border: 0;
          padding: 0;
      }
      

      live demo

      【讨论】:

      • 当我这样做时,它没有边框,是的,但是当我将边框设置为 1px 并将颜色设置为黑色时,只设置了两侧。另一个是白色的。
      【解决方案5】:

      设置border: 1px solid black 使所有边相等并删除任何类型的自定义边框(除了实心)。 此外,设置box-shadow: none 以删除应用到它的任何嵌入阴影。

      【讨论】:

      • 如果我将边框设置为任何其他颜色,比如说#eee,只有两侧仍在设置
      • 看看我的更新。您可能还需要将边框样式和大小更改为solid1px
      • 谢谢。我的基础是你的,所以是的。
      • box-shadow 是这个解决方案适合我的原因,没有其他解决方案有这个功能。
      【解决方案6】:

      试试这个
      outline: none;

      现场演示https://codepen.io/wenpingguo/pen/KQgbXq

      【讨论】:

        【解决方案7】:

        所有浏览器,包括 Safari(+ 移动):

        input[type=text] {   
            /* Remove */
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            
            /* Optional */
            border: solid;
            box-shadow: none;
            /*etc.*/
        }
        

        【讨论】:

          【解决方案8】:

          我正在使用 Firefox。我遇到了同样的问题,输入类型的文本是自动定义的,看起来像 boxshadow 插图,但事实并非如此。 您要更改的是边框...只需设置 border:0; 即可。

          【讨论】:

            【解决方案9】:

            这是一个小sn-p,尝试一下可能会很酷:

            input {
            border-radius: 10px;
            border-color: violet;
            border-style: solid;
            }
            

            注意:border-style 会移除内部阴影。

            input {
                border-radius: 10px;
                border-color: violet;
                border-style: solid;
              }
            <input type="text"/>

            【讨论】:

              猜你喜欢
              • 2016-12-04
              • 1970-01-01
              • 2012-02-20
              • 2020-07-31
              • 2012-09-21
              • 1970-01-01
              • 2013-01-26
              • 2018-05-24
              相关资源
              最近更新 更多