由于与引导程序冲突,mdl文本字段输入焦点未对齐

时间:2017-08-10 03:06:48

标签: css twitter-bootstrap material-design-lite

我试图在AngularJS项目中使用MDL。

要安装MDL,我已按照此处的bower说明操作: https://getmdl.io/started/index.html

然后我就在使用此代码之后: https://getmdl.io/components/#textfields-section

<!-- Simple Textfield -->
<form action="#">
  <div class="mdl-textfield mdl-js-textfield">
    <input class="mdl-textfield__input" type="text" id="sample1">
    <label class="mdl-textfield__label" for="sample1">Text...</label>
  </div>
</form>

我已经在chrome和firefox中进行了测试,当我关注元素时,我得到了这个:

enter image description here

我没有任何线索为什么焦点与输入边框底部不一致(因为它应该是)。关于原因以及如何解决的任何想法?

修改 问题是由于与Bootstrap的冲突,我也在我的项目中使用了Bootstrap。如何使用Boostrap和MDL并消除这种冲突?

2 个答案:

答案 0 :(得分:1)

我确实遇到了类似的问题,可以在下面的堆栈溢出线程中找到它的修复。

Material Design Lite - Bottom Line in text field has a slight gap with colored line

答案 1 :(得分:1)

对于存在冲突的CSS文件的问题,你是对的。

解决此问题的最简单方法是更改​​“Overriding”CSS文件中的CSS(“Cascade”中的最后一个)。您要更改的类是 .mdl-textfield课程。此类的填充底部设置为20px作为起始值。您需要将其更改为24px以补偿Bootstrap 3中的额外边距和填充。

所以在你的“覆盖”CSS文件中输入:

.mdl-textfield{padding-bottom: 24px;}

这应解决问题,并允许Material Design Lite和Bootstrap 3的CSS / JS与输入字段一致地工作。