同じ要素にCC変換XとYを適用することは可能ですか?
これを試すと、translateXはtranslateYによってオーバーライドされます。
.something {
transform: translateX(-50%);
transform: translateY(-50%);
}
このようなことができます
transform:translate(-50%,-50%);
あなたの場合、translate
プロパティでXとYの両方の翻訳を適用できます:
transform: translate(tx[, ty]) /* one or two <translation-value> values */
[ ソース:MDN ]
たとえば、次のようになります。
.something {
transform: translate(-50%,-50%);
}
デモ:
div{
position:absolute;
top:50%; left:50%;
width:100px; height:100px;
transform: translate(-50%,-50%);
background:tomato;
}
<div></div>
この回答で述べられているように CSS3で複数の変換を適用する方法? 同じ宣言で指定することにより、同じ要素に複数の変換を適用できます:
.something {
transform: translateX(-50%) translateY(-50%);
}
XとYを組み合わせて単一の式に変換できます。
transform: translate(10px, 20px); /* translate X by 10px, y by 20px */
また、一般的に、いくつかのルールが単一のルールに変換されます。
transform: translateX(10px) translateY(20px) scale(1.5) rotate(45deg);