首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换购物结帐占位符

替换购物结帐占位符
EN

Stack Overflow用户
提问于 2021-10-25 07:46:01
回答 1查看 82关注 0票数 0

我想要更改特定Shopify Checkout元素的占位符文本。

我想把"Street and house number“改成加泰罗尼亚语。在系统中没有办法翻译这个字符串,所以我想也许我可以用一些CSS来代替它?

EN

回答 1

Stack Overflow用户

发布于 2021-10-25 08:40:47

首先,您需要隐藏默认占位符

代码语言:javascript
复制
input[name=INPUTNAME]::placeholder {
  color:transparent;
}
input[name=INPUTNAME]:-ms-input-placeholder {
  color:transparent;
}
input[name=INPUTNAME]::-webkit-input-placeholder {
  color:transparent;
}

然后,您需要使用::before的内容来模拟占位符,如下所示

代码语言:javascript
复制
input[name=INPUTNAME] + label::before{
content:'new place holder text';
position:absolute;
top:0;//position placeholder
left:0;// position placeholder
pointer-events: none;//make it not clickable so user can interact with input
// font size and style must be same as the input 
/// color must match the placeholder color
}

因为输入不支持::之前,如果HTML代码是这样的,则必须对输入使用::之前的父元素或紧跟在输入后面的元素

代码语言:javascript
复制
<div class="input">
   <input/>
</div>

使用

代码语言:javascript
复制
.input::before

如果HTML代码是这样的

代码语言:javascript
复制
<input/>
<label></label>

使用

代码语言:javascript
复制
input + label::before

"+ label“表示输入后的第一个标签

问题可能是在输入为空或用户处于焦点时隐藏占位符。最好的情况是输入后面跟着标签之类的元素

代码语言:javascript
复制
input[name=INPUTNAME]:focus + label::before,input[name=INPUTNAME]:not(:placeholder-shown) + label::before{
  display:none;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69704396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档