2016-11-19 4 views
0

これはJavaScriptを使用するとわかっていますが、CSSの次のリリースで可能か計画されているかどうかは疑問でした。CSS要素自体がコンテンツの次元を取得する

私は少しのプラットフォームで作業しており、相対的/絶対的な位置がたくさんあります。コンテンツは動的なので、静的な幅を指定するのに最適な解決策ではなく、要素は何らかの理由で中央に配置する必要があります。私は、CSSを使って表示エラーがほとんどなくても可能にしましたが、CSSの中にthisのようなものがあれば素晴らしいでしょう。だから、

element 
    position: absolute 
    top: 100px 
    right: calc(50% - this.width/2) 

、この質問が広すぎることはありませために:

今日のコード(SASS):

element 
    position: absolute 
    top: 100px 
    right: 50% 
    margin-right: -50px (static width in %/px/em/rem/...) 

は、私が考えていた何か。今日のCSSでこの種の動作を実装する方法を知っていますか?フィーチャー・リリースでそれを実装する計画があるかどうかは分かりますか?

+0

これもその例にはどう参照すべきであると同様に、同様の効果を得ますか?要素そのもの?その意味で要素を独自の幅計算に含めることはできないため、意味がありません。 – CBroe

+0

css変数を試しましたか:https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables? – caramba

+0

_ "相対的/絶対的な位置がたくさんある" _のような音はむしろ本当の問題かもしれません。特に、絶対的な配置は、むしろ余計に使うべきものであり、レイアウト全体をベースにしてはならないものです。例外はもちろん存在します。ほとんどの場合、むしろ柔軟性に欠けます。そして、率直に言って、ほとんどの場合、CSSを適切に使用する方法を学んでいない人が使っているレイアウトの方法がよく見えます。 – CBroe

答えて

2

いいえ、今日は自己の財産を参照することはできません。

これが表示されますか? ..・ホープそう

あなたの特定のサンプルでは、​​動的なコンテンツを持っている絶対位置のdivを中心に、あなたはtransform: translate

サイドノートを使用することができます:CSSは、組み合わせたとき、人はまだすることができ、プロパティをたくさん持っています以下のサンプル

div { 
 
    position: absolute; 
 
    top: 100px; 
 
    border: 1px solid; 
 
    right: 50%; 
 
    transform: translateX(50%); 
 
}
<div>Centered with dynamic content</div>

+0

ありがとう@LGSon。私はそれを中心にしていたときの変換については考えていませんでした。本当に便利なトリックです。私は私の質問の「中核」に正しく答えているように答えを正しいものとしてマークすることができると思います。 –

関連する問題