输入边界影响span的位置为什么?
评论我知道如何解决这个问题,读请,我要找的评论,为什么我在首位这一问题,它只是奇怪,输入边界影响span的位置为什么?
请阅读样式代码
问题:我有这个奇怪的问题,输入边框宽度影响div的位置,例如,如果我给边框宽度5px输入;跨度将开始在5倍相对于父,如果我给边界宽度10px输入跨度将从10px开始它的父div?它有点consuting,可能是我错过了一些东西明显,
这里是代码片段
.mainDiv {
display: flex;
}
input {
height: 100%;
/*To change understand the problem
just change the border width*/
border: 10px solid blue;
}
div div {
border: 2px solid black;
height: 30px;
/*i can solve it by displaying this
container as flex container as well*/
}
span {
border: 2px solid red;
/*First Edit Display them inline block
and also give height*/
display: inline-block;
height: 30px;
}
<form action="">
<div class="mainDiv">
<div>
<input type="text" required><span>not good</span>
</div>
</div>
</form>
有输入和空格跨度之间的水平差距。如果清除元素之间的白色斑点,那么横向间隙就会消失。
<input type="text" required><span>not good</span>
由于元素在文本的基线上对齐,因此父级顶部和顶级之间存在垂直间距。注意输入的底部,边界内部以及跨度的底部。
首先,我不明白什么你的意思是空白和基线,比我理解,比我试图实现你的解决方案,并没有工作,我也编辑span样式请看看,现在我使用你的代码,意味着没有空白现在,谢谢你再看看 – user2860957
谢谢我一开始并不理解第二部分,它是美丽的答案,但我只能一劳永逸不是两次。 – user2860957
_“我正在寻找为什么我首先遇到了这个问题” - 因为如果你想要不同高度的内联元素的不同对齐方式,你没有指定'vertical-align',你应该这样做,简单的_default_ ... – CBroe
好吧,我会尽力实施你的解决方案,但也改变了跨度的风格代码,请看看 – user2860957
@CBroe谢谢我得到了点,感谢您的帮助 – user2860957