ホームページ ウェブフロントエンド CSSチュートリアル CSS3 Calcのスクロールバーがページ上でジャンプしない問題を解決

CSS3 Calcのスクロールバーがページ上でジャンプしない問題を解決

Sep 18, 2017 am 11:31 AM
css3

calc は要素の長さを指定するために使用される css3 の関数です。 calc() の最大の利点は、要素の幅が calc() を通じて計算できることです。次に、Script House の編集者が、ページがジャンプしないスクロール バーの問題の CSS3 Calc 実装を共有します。必要な友達はそれを参照してください

calc() とは何ですか?

() 文字通り、関数関数として理解できます。実際、calc は英語の Calculate の略語で、CSS3 の新しい機能であり、要素の長さを指定するために使用されます。たとえば、calc() を使用して、要素のボーダー、マージン、パディング、フォント サイズ、および幅のプロパティに動的な値を設定できます。なぜ動的値と呼ばれるのですか? 値を取得するために式を使用するからです。ただし、calc() の最大の利点は、要素の幅を calc() を通じて計算できることです。

構文


calc() = calc(四则运算)
ログイン後にコピー

例:


.elm {
  width: calc(expression);
}
ログイン後にコピー

ここで、「expression」は長さの計算に使用される式です

説明

は、長さの値を動的に計算するために使用されます。

  • 演算子の前後にスペースを確保する必要があることに注意してください。例: width: calc(100% - 10px);

  • calc() 関数を使用して任意の長さの値を計算できます。 ;

  • calc() 関数は、「+」、「-」、「*」、「/」演算をサポートします。

  • calc() 関数は、標準の数学演算の優先順位ルールを使用します。

簡単な例:

<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>calc()函数_CSS参考手册_web前端开发参考手册系列</title>
<meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" />
<style>
.test {
    width: calc(100% - 50px);
    background: #eee;
}
</style>
</head>
<body>
<p class="test">我的宽度为100% - 50px</p>
</body>
</html>
ログイン後にコピー
最も一般的に使用されるものを以下に説明します: スクロールバーが表示されたときにページがジャンプしないことを実現するアプリケーション

ページコンテンツが動的にロードされるとき、スクロールはありません最初はバーであり、コンテンツがバーを増やした後にスクロールが表示されます。その後、固定幅の中央揃えレイアウトを使用すると、スクロール バーの幅 1 つ分だけ左にオフセットされます。解決策は、すべてのコンテンツに overflow-y:scroll を追加するか、コンテンツに応じて CSS を入力してからコンテンツを追加することです。この記事ではスクロール バーの幅を計算する calc を紹介します。スクロール バーがある場合、スクロール バーの幅はコンテンツの外側でもシミュレートされるため、オフセットされません。 ·

非常に簡単で、たった 1 行のコードで実行できます:

.wrap-outer {
    margin-left: calc(100vw - 100%);
}
ログイン後にコピー

または:

.wrap-outer {
    padding-left: calc(100vw - 100%);
}
ログイン後にコピー

まず、.wrap-outer は、中央に配置された固定幅ボディの親を参照します。作成しないでください (本体を使用しても同様の効果を実現できますが、幅分離の原則に基づいて、推奨されません

) 次に、calc は CSS3 の計算であり、IE10 以降のブラウザーでサポートされており、基本的にサポートされています。 IE9 ブラウザー (background-position では使用できません);

最後に、100vw はブラウザーの window.innerWidth に対する相対的なブラウザーの内部幅です。スクロール バーの幅も含まれることに注意してください。 100% が利用可能な幅、つまりスクロール バーを除いた幅です。

つまり、calc(100vw - 100%) はブラウザのスクロール バーの幅です (スクロール バーがある場合は 0、スクロール バーがない場合は 0)。左右のスクロール バーの幅がある場合 (または両方が 0 の場合)、メイン コンテンツをジャンプすることなく常にブラウザーの中央に配置できます。

以上がCSS3 Calcのスクロールバーがページ上でジャンプしない問題を解決の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

CSS3でマウスクリックで画像を拡大する方法 CSS3でマウスクリックで画像を拡大する方法 Apr 25, 2022 pm 04:52 PM

実装方法: 1. ":active" セレクターを使用して、画像上のマウス クリックの状態を選択します; 2. 変換属性とscale() 関数を使用して、画像の拡大効果を実現します。構文 "img:active {transform : スケール(x 軸倍率、y 軸倍率);}"。

css3アダプティブレイアウトとは何ですか css3アダプティブレイアウトとは何ですか Jun 02, 2022 pm 12:05 PM

「レスポンシブ レイアウト」とも呼ばれるアダプティブ レイアウトとは、画面の幅を自動的に認識し、それに応じて調整できる Web ページ レイアウトを指します。このような Web ページは、端末ごとに特定のバージョンを作成するのではなく、複数の異なる端末と互換性を持たせることができます。 。アダプティブ レイアウトは、モバイル Web ブラウジングの問題を解決するために生まれ、さまざまな端末を使用するユーザーに優れたユーザー エクスペリエンスを提供できます。

css3のアニメーション効果に変形はありますか? css3のアニメーション効果に変形はありますか? Apr 28, 2022 pm 02:20 PM

css3 のアニメーション効果には変形があり、「animation: アニメーション属性 @keyframes ..{..{transform: 変換属性}}」を使用して変形アニメーション効果を実現できます。アニメーション属性はアニメーション スタイルを設定するために使用され、変形スタイルを設定するには、transform 属性を使用します。

See all articles