【问题标题】:CSS. Placeholder and textbox with different font sizesCSS。不同字体大小的占位符和文本框
【发布时间】:2017-04-26 11:30:43
【问题描述】:

我有一个字体大小为 45 像素的输入字段。该字段应该有一个字体大小为 18px 的占位符,并且占位符的垂直对齐方式应该是中间。我已经尝试了以下代码,但它在 Chrome 和 Opera 中不起作用。

你能帮我找到一个不使用 JavaScript 的解决方案吗?

<input type="text" placeholder="Start typing your postal code..." />

   input {
        width: 300px;
        border: 2px solid red;
        padding: 0px 5px;
        line-height: 100px;
        font-size: 45px;
    }

    ::-webkit-input-placeholder {
        font-size: 18px;
        vertical-align: middle !important;
        line-height: 100px !important;
        color:#000;
        text-align:center;
    }
    ::-moz-placeholder {
        font-size: 18px;
        vertical-align: middle;
        line-height: 100px;
        color: #000;
        text-align: center;
    }
    :-ms-input-placeholder {
        font-size: 18px;
        vertical-align: middle;
        line-height: 100px;
        color: #000;
        text-align: center;
    }
    :-moz-placeholder {
        font-size: 18px;
        vertical-align: middle;
        line-height: 100px;
        color: #000;
        text-align: center;
    }

【问题讨论】:

    标签: html css vertical-alignment placeholder


    【解决方案1】:

    我认为您需要在伪元素之前添加input。试试这个:

    input::-webkit-input-placeholder {
      font-size: 18px;
      vertical-align: middle;
      line-height: 100px;
      color: #000;
      text-align: center;
    }
    
    input::-moz-placeholder {
      font-size: 18px;
      vertical-align: middle;
      line-height: 100px;
      color: #000;
      text-align: center;
    }
    
    input:-ms-input-placeholder {
      font-size: 18px;
      vertical-align: middle;
      line-height: 100px;
      color: #000;
      text-align: center;
    }
    
    input::placeholder {
      font-size: 18px;
      vertical-align: middle;
      line-height: 100px;
      color: #000;
      text-align: center;
    }
    

    编辑

    样式占位符似乎有限。但一种方法可能是使用transform: translate(0, -50%);

    input::placeholder {
      font-size: 18px;
      line-height: 100px;
      text-align: center;
      transform: translate(0, -50%);
    }
    

    【讨论】:

    • 感谢您的回答,但很遗憾,它不起作用。 :(
    • 我用一个可能的解决方案编辑了我的答案。您可能想看看这个以了解有关placeholders的更多详细信息
    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2014-03-15
    • 2015-09-04
    • 2014-09-06
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    相关资源
    最近更新 更多