ブラウザの幅だけでなく、ドキュメントの幅全体のパーセンテージを使用して、CSSのみを使用して要素を左に配置する方法はありますか?
すべての要素の高さと上からの配置がパーセンテージを使用して設定される水平スクロールWebサイトを作成しています。これは、すべてのブラウザーサイズに対応し、すべての要素の比率が維持されるようにするためです。
次のようなものを使用して、ページ上の要素の左(または右)の配置を変更しようとすると、
#my_element {
position: absolute;
top: 5%;
width: 34%
left: 10%;
}
これは、ブラウザウィンドウの幅の10%であり、本文やhtml要素の実際の幅ではありません。これは標準の垂直スクロールWebサイトでは意味がありますが、役に立ちません。
私の現在の回避策は、JavaScriptを使用して左に配置し、次のようなことを行うことです。
$('#my_element').css('left', $(document).width() / 100 * 10) //Position to 10% of the page.
これは機能しますが、JavaScriptが十分に速く読み込まれない場合、またはCSSアニメーションを使用してさまざまな要素をアニメーション化する場合にいくつかの問題が発生します。