css - ie中的垂直对齐占位符
问题描述
有人可以帮我修复 IE 中占位符的垂直对齐以获取以下标记吗?我固定在其他浏览器上,使用 transform: translateY(3px); 看起来不错 不幸的是,html 来自我的时事通讯提供商的一个小部件,所以我无法更改它,我只能访问 css 样式。
如果可能的话,我希望复选框在 IE 中看起来也一样,它看起来像 -webkit-appearance: none; 不适用于ie。非常感谢
HTML
<input type="hidden" name="wpmailup-subscribe" class="wpmailup-subscribe" value="subscribe">
<fieldset class="subscribeDataTable">
<h4 class="widgettitle">Iscriviti alla nostra newsletter!</h4>
<p class="muDescription"></p>
<p class="muField">
<input type="text" name="sub-email" class="sub-email" placeholder="Email*">
</p>
<p class="muField">
<input type="text" name="sub-ext1" class="sub-ext1" maxlength="80" placeholder="Nome*">
</p>
<p class="muTermsCheckbox">
<label><input name="terms-confirm" class="terms-confirm" type="checkbox" value="yes"> Accetto l'informativa sulla <a class="ppaccept" href="/privacy-policy"></a></label>
</p>
</span>
<p class="muSubmit"><input type="submit" name="submit" value="iscriviti!"></p>
</fieldset>
CSS
.subscribeForm input {
border-width: 1px;
border-style: solid;
border-color: #ffd300;
padding: 16px;
line-height: 2em;
font-size: 16px;
}
解决方案
您已经line-height: 2em;
设置了输入,这在不同的浏览器中计算方式不同。删除此行,您应该会在 IE 和 Chrome/其他现代浏览器上看到垂直对齐的占位符。
.subscribeForm input {
border-width: 1px;
border-style: solid;
border-color: #ffd300;
padding: 16px;
/* line-height: 2em; */
}
编辑:
关于这个appearance
问题,-webkit-appearance
是vendor prefix。
通过将代码切换为:
input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
这将确保它适用于所有浏览器。请注意,Edge 和 IE处理前缀的方式不同。
推荐阅读
- reactjs - 如何从 React 中的嵌套路由导航到不同的组件?
- reactjs - 带有 redux-thunk 和 axios 的 TypeScript
- asp.net - 同一个Java脚本的URL不同的页面是不同的
- sql - 每年年底统计会员人数
- netsuite - 修改打印/标签模板
- twitter - 在 twitter.com 的用户脚本中使用 fetch
- random - LSL - 向数据库查询添加随机时间元素以防止泛滥
- javascript - How to implement .includes in JavaScript
- colorbar - 在python中,将颜色条添加到具有多个图像的图形中
- python - 对火炬张量执行“假”量化