众所周知,CSS翻译中的百分比值与翻译元素本身的大小有关,而(AFAIK)应用于任何其他属性,它们与父级的大小相关。这主要用于垂直居中元素,例如,在我们的浏览器中flexbox
或grid
之前的方式。
.wrapper {
width: 500px;
height: 200px;
background-color: lightgray;
}
#element {
width: 42px;
height: 42px;
background-color: red;
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
<div class="wrapper">
<div id="element"></div>
</div>
在此示例中,我们看到应用于left
和top
属性的50%如何引用.wrapper
宽度的50%(或top
的高度),所以它分别是250px和100px。但在translate
中,-50%应用于#element
本身,因此它是42px的50%。
我看到了它的好处,但我不明白这种(明显的)不连贯的原因。所以,
编辑:正如SergeS的回答所述,我在MDN中看到所有属性按照定义都有自己对<percentage>
值的引用。
在transform
,
百分比 - 指的是边界框的大小。
在top
,
百分比 - 指包含块的高度。
在margin
,
百分比 - 指包含块的宽度。
我很好奇这些定义的原因。
答案 0 :(得分:1)
没有
答案 1 :(得分:0)
在这两种情况下,值都与元素本身有关。
在第一种情况下,当您说<div>{{ NODE_ENV }}</div>
data() {
return {
NODE_ENV: process.env.NODE_ENV
}
}
和SELECT evaluator,employee_id, AVG(score) FROM tbl_evaluation GROUP BY evaluator HAVING employee_id= '0001' and evaluator='Peer';
时,它只是意味着通过测量第一个相对定位父级的偏移量来保持元素与顶部和左侧偏移50%(默认值)体)。
在第二种情况下,当您说翻译时,意味着您正在使用给定值的translate方法转换元素。