两个兄弟div(#one
和#two
)每个包含一些文本.
我#two
以负边距移动并且期望它覆盖#one
,但是当文本位于前面时#one
,背景位于下方.
这种情况仅在#one
有display:inline-block
.
div {
width:110px;
height:100px;
font-size:55px;
font-weight:900;
text-align:center
}
#one {
display:inline-block;
background:yellow;
}
#two {
background:purple;
color:pink;
margin-top:-90px;
margin-left:20px;
}
Run Code Online (Sandbox Code Playgroud)
<div id='one'>one</div>
<div id='two'>two</div>
Run Code Online (Sandbox Code Playgroud)
如果有人可以给出解释,将不胜感激
编辑:我不是在寻找一种解决方法,但想了解inline-block
元素的呈现方式
我希望文本输入仅接受数字序列。任何其他字符都应该被默默地忽略。这是我的组件的简化版本:
<template>
<div id="app">
<input :value="tel" @input="setTel" placeholder="only numbers" />
<p>{{ tel }}</p>
</div>
</template>
<script>
export default {
name: "App",
data: () => ({
tel: "1234"
}),
methods: {
setTel(v) {
const val = v.target.value.replace(/[^0-9]/g, "");
this.tel = val;
/*this.tel = v.target.value = v.target.value.replace(/[^0-9]/g, "");*/
}
}
};
</script>
Run Code Online (Sandbox Code Playgroud)
在React中,有受控组件的概念,但我在Vue中似乎没有类似的东西。
我找到的解决方法(你可以在评论中看到)是手动修改输入元素的值,但这有点违背了使用 Vue 的目的。
我也尝试过使用v-model
,但问题仍然存在。
作为输入验证的一种形式,我需要强制一个字符串'9>6'
来评估一个布尔值.
除了评估字符串,我似乎无法找到解决方法.
我一直都听说过eval的邪恶(特别是因为我正在验证表单输入),关于它可以评估任何脚本和性能问题的事实.
但....
在我的案例中是否有任何替代方案(处理关系运算符)?
var arr = ['<9', '>2'];
var check = function (a) {
return arr.every(function (x) {
var string = '';
string += a + x;
try {
return eval(string);
} catch (e) {
return false;
}
});
};
console.log(check('3'))
Run Code Online (Sandbox Code Playgroud) 如何找到带有单词边界的单词的最后一次出现?我/\btotal\b/
为这个词创建了一个正则表达式.我如何使用search()查找此表达式的最后一次出现?在此先感谢您的帮助!