当前位置: 首页 > 面试题库 >

一个占位符中是否可能有多种文本颜色?

羊舌和安
2023-03-14
问题内容

我想要一个带有多个彩色文本的占位符。是否可以帮助我。

我有一个输入文本,其中占位符表示我是个好男孩。我想要颜色不同的好词。


问题答案:

不可以 ,无法为默认占位符着色,但是您可以创建类似于占位符的元素。因此,您可以为字母着色。这是默认占位符的解决方法。

请注意,我正在使用opacity: 0.5,您可以根据需要进行更改。

HTML

.input-field {

    position: relative;

    display: inline-block;

}

.input-field > label {

    position: absolute;

    left: 0.5em;

    top: 50%;

    margin-top: -0.5em;

    opacity: 0.5;

}

.input-field > input[type=text]:focus + label {

    display: none;

}

.input-field > label > span {

    letter-spacing: -2px;

}

.first-letter {

    color: red;

}

.second-letter {

    color: blue;

}

.third-letter {

    color: orange;

}

.fourth-letter {

    color: green;

}

.fifth-letter {

    color: yellow;

}


    <div class="input-field">

        <input id="input-text-field" type="text"></input>

        <label for="input-text-field">

            <span class="first-letter">H</span>

            <span class="second-letter">E</span>

            <span class="third-letter">L</span>

            <span class="fourth-letter">L</span>

            <span class="fifth-letter">O</span>

        </label>

    </div>

工作小提琴

更新:

仅CSS( :placeholder-shown

上面的小提琴有一个Bug ,当您在文本框中键入内容并单击外部时,占位符将再次出现在输入的文本上方。

因此,要使其完美,我们可以使用:placeholder-shown除chrome和firefox之外没有太多支持的工具。

这是代码:

.input-field {

  position: relative;

  display: inline-block;

}



.input-field > label {

  position: absolute;

  left: 0.5em;

  top: 50%;

  margin-top: -0.5em;

  opacity: 0.5;

  display: none;

}



.input-field > input[type=text]:placeholder-shown + label {

  display: block;

}



.input-field > label > span {

  letter-spacing: -2px;

}



.first-letter {

  color: red;

}



.second-letter {

  color: blue;

}



.third-letter {

  color: orange;

}



.fourth-letter {

  color: green;

}



.fifth-letter {

  color: yellow;

}


<div class="input-field">

  <input id="input-text-field" type="text" placeholder=" "></input>

  <label for="input-text-field">

    <span class="first-letter">H</span>

    <span class="second-letter">E</span>

    <span class="third-letter">L</span>

    <span class="fourth-letter">L</span>

    <span class="fifth-letter">O</span>

  </label>

</div>

使用JS( 不带:placeholder-shown):

addListenerMulti(document.getElementById('input-text-field'), 'focus keyup', blurme);



function blurme(e) {

  var element = e.currentTarget;

  element.classList[(element.value.length !== 0) ? "add" : "remove"]('hide-placeholder');

}



function addListenerMulti(el, s, fn) {

  s.split(" ").forEach(function(e) {

    return el.addEventListener(e, fn, false)

  });

}


.input-field {

  position: relative;

  display: inline-block;

}

.input-field > label {

  position: absolute;

  left: 0.5em;

  top: 50%;

  margin-top: -0.5em;

  opacity: 0.5;

}

.hide-placeholder + label {

  display: none;

}

.input-field > label > span {

  letter-spacing: -2px;

}

.first-letter {

  color: red;

}

.second-letter {

  color: blue;

}

.third-letter {

  color: orange;

}

.fourth-letter {

  color: green;

}

.fifth-letter {

  color: yellow;

}


<div class="input-field">

  <input id="input-text-field" type="text"></input>

  <label for="input-text-field">

    <span class="first-letter">H</span>

    <span class="second-letter">E</span>

    <span class="third-letter">L</span>

    <span class="fourth-letter">L</span>

    <span class="fifth-letter">O</span>

  </label>

</div>


 类似资料:
  • 问题内容: 我希望文本区域中的几个单词/阶段以不同的颜色显示…我该怎么做?下面是一个示例,我希望绿色一词出现绿色等,等等。 问题答案: 你不能做到这 _里面_一个,没有一个是编辑。听起来您好像在追求一种所见即所得的编辑器,其中大多数使用a来做到这一点。

  • 问题内容: 我有一个实现深蓝色的设计,因为默认情况下,占位符文本为深灰色,所以我几乎无法分辨出占位符文本的含义。 我已经用谷歌搜索了这个问题,但是我还没有想出使用Swift语言而不是Obj-c的解决方案。 有没有一种方法可以使用Swift 更改占位符文本的颜色? 问题答案: 您可以使用 属性字符串 设置占位符文本。通过:传递所需的颜色: 对于Swift 3+,请使用以下命令: 对于Swift 4.

  • 我有一个实现深蓝色的设计,因为占位符文本默认是深灰色,我几乎看不出占位符文本说了什么。 当然,我已经在谷歌上搜索了这个问题,但我还没有找到一个解决方案,因为我使用的是Swift语言,而不是Obj-c。 有没有办法使用Swift更改中占位符文本颜色?

  • 问题内容: 我正在使用Spring和struts,并且在“ /META-INF/context.xml”中具有以下条目 是否可以通过以下方式实现, 我的applicationContext.xml具有以下内容, 我想从属性文件中选取jdbc.username和jdbc.pwd的值。 问题答案: 使用Spring的PlaceholderPropertyConfigurer(仅替换Spring上下文中

  • 如何更改文本框的字体颜色而不影响Internet Explorer11中的字体颜色? 如果我改变了输入中字体的颜色(Fiddle): HTML: CSS: 占位符文本不再是Internet Explorer 11中默认的灰色: 意味着占位符文本现在执行它应该执行的操作: 但现在文本颜色并没有做它应该做的事情: 我需要的是弄清楚如何用CSS改变输入的HTML5占位符颜色。 使用CSS更改HTML5输

  • 我是最新的办公室编程人员。我找不到任何描述运行中可能放置多少文本元素的文档。例如,我生成了这个xml,并将其直接放到“document.xml”中: 文档打开时没有错误。但在MS Word中保存文档后,此xml将替换为: 我的问题:用户有没有办法生成几个