由于与 bootstrap 冲突,焦点未对齐的 mdl 文本字段输入
mdl textfield input with focus not aligned, due to conflict with bootstrap
我正在尝试在 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 中进行了测试,当我聚焦该元素时,我得到了这个:
我不知道为什么焦点没有与输入边框底部对齐(应该如此)。关于原因和解决方法的任何想法?
编辑:
问题是由于与 Bootstrap 冲突,我也在我的项目中使用它。如何同时使用 Boostrap 和 MDL 并消除这种冲突?
我确实遇到了类似的问题,可以在下面的堆栈溢出线程中找到解决方法。
Material Design Lite - Bottom Line in text field has a slight gap with colored line
MDL 网格并不总是有 12 列:
A grid has 12 columns in the desktop screen size, 8 in the tablet size, and 4 in the phone size
因此,具有此 class 的元素:
class="mdl-cell mdl-cell--4-col mdl-cell--2-col-tablet mdl-cell--4-col-phone"
将占据台式机 12 列中的 4 列,平板电脑中 8 列中的 2 列和 phone 中 4 列中的 4 列。请参阅此示例 pen。
您对 CSS 个文件冲突的问题是正确的。
解决此问题的最简单方法是更改 "Overriding" CSS 文件中的 CSS("Cascade" 中的最后一个)。您要更改的 Class 是
.mdl-textfield
class。 class 上的 padding-bottom 设置为 20px 作为起始值。您需要将其更改为 24px 以补偿来自 Bootstrap 3.
的额外边距和填充
所以在你的 "Overriding" CSS 文件中输入:
.mdl-textfield{padding-bottom: 24px;}
这应该可以解决问题,并允许 Material Design Lite 的 CSS/JS 和 Bootstrap 3 与输入字段一致地工作。
我正在尝试在 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 中进行了测试,当我聚焦该元素时,我得到了这个:
我不知道为什么焦点没有与输入边框底部对齐(应该如此)。关于原因和解决方法的任何想法?
编辑: 问题是由于与 Bootstrap 冲突,我也在我的项目中使用它。如何同时使用 Boostrap 和 MDL 并消除这种冲突?
我确实遇到了类似的问题,可以在下面的堆栈溢出线程中找到解决方法。
Material Design Lite - Bottom Line in text field has a slight gap with colored line
MDL 网格并不总是有 12 列:
A grid has 12 columns in the desktop screen size, 8 in the tablet size, and 4 in the phone size
因此,具有此 class 的元素:
class="mdl-cell mdl-cell--4-col mdl-cell--2-col-tablet mdl-cell--4-col-phone"
将占据台式机 12 列中的 4 列,平板电脑中 8 列中的 2 列和 phone 中 4 列中的 4 列。请参阅此示例 pen。
您对 CSS 个文件冲突的问题是正确的。
解决此问题的最简单方法是更改 "Overriding" CSS 文件中的 CSS("Cascade" 中的最后一个)。您要更改的 Class 是
.mdl-textfield
class。 class 上的 padding-bottom 设置为 20px 作为起始值。您需要将其更改为 24px 以补偿来自 Bootstrap 3.
所以在你的 "Overriding" CSS 文件中输入:
.mdl-textfield{padding-bottom: 24px;}
这应该可以解决问题,并允许 Material Design Lite 的 CSS/JS 和 Bootstrap 3 与输入字段一致地工作。