目次
正三角形
正方形
正五角形
正八角形は、実際には正七角形上の三角形を台形に変えます。中央の台形は長方形になり、正八角形のなす角度は135度となり、各領域の長さと幅を計算すると以下のようになります。
ホームページ ウェブフロントエンド CSSチュートリアル CSSで単一divの正多角形変形を行う方法

CSSで単一divの正多角形変形を行う方法

Apr 29, 2019 am 10:13 AM
css css3 html

この記事では、純粋に CSS を使用して「単一の」div を正三角形から正八角形に変換し (単一の div は最大でも正八角形にしかなりません)、最後にアニメーションの効果を使用して正八角形に変換します。アニメーションの関係上、正多角形は三角関数の計算が多く必要となるため、便宜上正多角形の辺を100pxとしています。

正三角形

正三角形は疑似要素を使う必要はなく、p自体のボーダー幅を設定するだけで生成できます。正三角形の辺の長さと中心線。辺の長さが 100px の場合、中心線は 87px (100 x sin (60) = 87) に丸められます。

CSSで単一divの正多角形変形を行う方法

したがって、p の長さと幅を 0 に設定し、次に下枠の幅を 87px に設定する必要があります。左右の境界線 幅を50px(色を透明)に設定すると、綺麗な三角形が作れます。

width:0;
height:0;
border-width:0 50px 87px ;
border-style:solid;
border-color:transparent transparent #095;
ログイン後にコピー

CSSで単一divの正多角形変形を行う方法

正方形

正方形は最も単純で、長さと幅を同じ値に設定するだけです。実は他に 2 つの方法があります。1 つ目は、長さと幅を 0 に設定し、上下左右の境界線を 50px に設定することです。2 つ目は、高さを 0 に設定し、幅を 100px に設定することです。ある 横幅も100に設定してありますが、問題ありません。

.a{
width:100px;
height:100px;
background:#c00;
}
.b{
width:0;
height:0;
border-width:50px;
border-style:solid;
border-color:#095;
}
.c{
width:100px;
height:0;
border-width:0 0 100px;
border-style:solid;
border-color:#069;
}
ログイン後にコピー

CSSで単一divの正多角形変形を行う方法

正五角形

正五角形は基本的な三角関数の分野に入る必要があります。まず正五角形を分解しましょう。元の p を上三角形として使用し、疑似要素を使用して下の台形を作成します。正五角形の各辺間の角度は 108 度であるため、上三角形は三角関数で計算できます。高さは 59px ( 100×cos(54))、幅は192px(100×sin(54)×2)、下の台形の高さは95px(100×sin(72))、長辺の幅は同じです上の三角形は 192px です。

CSSで単一divの正多角形変形を行う方法

#原理を理解した後は、疑似要素を使用して一致させたり作成したりできます。

.a{
      position:relative;
  width:0;
  height:0;
  border-width:0 81px 59px;
      border-style:solid;
  border-color:transparent transparent #069;
}
.a:before{
  position:absolute;
  content:"";
  top:59px;
  left:-81px;
  width:100px;
  height:0;
  background:none;
  border-width:95px 31px 0;
  border-style:solid;    
  border-color:#069 transparent transparent;
    }
ログイン後にコピー

CSSで単一divの正多角形変形を行う方法

正六角形

純粋な CSS の方向から見た場合、正六角形の各角度は 120 度です。 , 正五角形の三角形を変更して、上下の台形を組み合わせた正六角形を作るだけです. 台形の長辺は 200px (100 x cos (60) x 2 100 ), 高さは台形は 87 ピクセル (100 x sin(60)) です。


CSSで単一divの正多角形変形を行う方法

つまり、正五角形のCSSを少し変更することで、正六角形を作ることができます。

.a{
      position:relative;
    width:100px;
    height:0;
    border-width:0 50px 87px;
      border-style:solid;
    border-color:transparent transparent #f80;
}
.a:before{
  position:absolute;
  content:"";
    top:87px;
    left:-50px;
    width:100px;
    height:0;
  background:none;
    border-width:87px 50px 0;
  border-style:solid;    
    border-color:#f80 transparent transparent;
    }
ログイン後にコピー

CSSで単一divの正多角形変形を行う方法

正七角形

after 疑似要素は、正七角形の先頭で使用する必要があります。元の p を上の三角形、擬似要素を中央の台形、そして別の擬似要素を下の台形として使用し、3 つのメモリ ブロックに分解する必要があります。正七角形の角度は整数ではありません。 128と4/7度、小数点第2位は約128.57となるので、計算結果は下図のようになりますが、長さと幅がどのくらいなのかをしっかりと把握しておくことがポイントです。


CSSで単一divの正多角形変形を行う方法#長さと幅が決まったら、CSS で記述を開始します。

.a{
      position:relative;
    width:0;
    height:0;
    border-width:0 90px 43px;
      border-style:solid;
    border-color:transparent transparent #09c;
}
.a:before{
  position:absolute;
  content:"";
    top:140px;
    left:-112px;
    width:100px;
    height:0;
    border-width:78px 62px 0;
  border-style:solid;    
    border-color:#09c transparent transparent;
    }
  .a:after{
    position:absolute;
    content:"";
    top:43px;
    left:-112px;
    width:180px;
    height:0;
    border-width:0 22px 97px;
    background:none;
    border-style:solid;
    border-color:transparent transparent #09c;
  }
ログイン後にコピー

CSSで単一divの正多角形変形を行う方法 正八角形

正八角形は、実際には正七角形上の三角形を台形に変えます。中央の台形は長方形になり、正八角形のなす角度は135度となり、各領域の長さと幅を計算すると以下のようになります。


CSSで単一divの正多角形変形を行う方法#同じ原理を理解していれば、CSS を使用する方がはるかに簡単になります。

.a{
      position:relative;
    width:100px;
      height:0;
      border-width:0 71px 71px;
      border-style:solid;
    border-color:transparent transparent  #f69;
}
.a:before{
  position:absolute;
  content:"";
    top:171px;
      left:-71px;
      width:100px;
      height:0;
      border-width:71px 71px 0;
  border-style:solid;    
      border-color: #f69 transparent transparent;
    }
  .a:after{
      position:absolute;
      content:"";
      top:71px;
      left:-71px;
      width:242px;
      height:0;
      border-width:0 0 100px;
      background:none;
      border-style:solid;
      border-color:transparent transparent #f69;
  }
ログイン後にコピー

1CSSで単一divの正多角形変形を行う方法

小结

以上就是纯粹利用CSS做出来的单一div的正多边形变换,如果熟练的话,其实加上动画效果,就可以做出像下面示例这个样子的变换动画啰!

CSSで単一divの正多角形変形を行う方法

相关教程:css视频教程

以上がCSSで単一divの正多角形変形を行う方法の詳細内容です。詳細については、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)

ブートストラップに写真を挿入する方法 ブートストラップに写真を挿入する方法 Apr 07, 2025 pm 03:30 PM

ブートストラップに画像を挿入する方法はいくつかあります。HTMLIMGタグを使用して、画像を直接挿入します。ブートストラップ画像コンポーネントを使用すると、レスポンシブ画像とより多くのスタイルを提供できます。画像サイズを設定し、IMG-Fluidクラスを使用して画像を適応可能にします。 IMGボーダークラスを使用して、境界線を設定します。丸い角を設定し、IMGラウンドクラスを使用します。影を設定し、影のクラスを使用します。 CSSスタイルを使用して、画像をサイズ変更して配置します。背景画像を使用して、背景イメージCSSプロパティを使用します。

ブートストラップボタンの使用方法 ブートストラップボタンの使用方法 Apr 07, 2025 pm 03:09 PM

ブートストラップボタンの使用方法は?ブートストラップCSSを導入してボタン要素を作成し、ブートストラップボタンクラスを追加してボタンテキストを追加します

ブートストラップのサイズを変更する方法 ブートストラップのサイズを変更する方法 Apr 07, 2025 pm 03:18 PM

Bootstrapの要素のサイズを調整するには、次のものを含むDimensionクラスを使用できます。

ブートストラップのフレームワークをセットアップする方法 ブートストラップのフレームワークをセットアップする方法 Apr 07, 2025 pm 03:27 PM

Bootstrapフレームワークをセットアップするには、次の手順に従う必要があります。1。CDNを介してブートストラップファイルを参照してください。 2。独自のサーバーでファイルをダウンロードしてホストします。 3。HTMLにブートストラップファイルを含めます。 4.必要に応じてSASS/LESSをコンパイルします。 5。カスタムファイルをインポートします(オプション)。セットアップが完了したら、Bootstrapのグリッドシステム、コンポーネント、スタイルを使用して、レスポンシブWebサイトとアプリケーションを作成できます。

ブートストラップにスプリットラインを書く方法 ブートストラップにスプリットラインを書く方法 Apr 07, 2025 pm 03:12 PM

ブートストラップスプリットラインを作成するには2つの方法があります。タグを使用して、水平方向のスプリットラインを作成します。 CSS Borderプロパティを使用して、カスタムスタイルのスプリットラインを作成します。

ブートストラップの日付を表示する方法 ブートストラップの日付を表示する方法 Apr 07, 2025 pm 03:03 PM

回答:ブートストラップの日付ピッカーコンポーネントを使用して、ページで日付を表示できます。手順:ブートストラップフレームワークを紹介します。 HTMLで日付セレクター入力ボックスを作成します。ブートストラップは、セレクターにスタイルを自動的に追加します。 JavaScriptを使用して、選択した日付を取得します。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

ブートストラップの日付を確認する方法 ブートストラップの日付を確認する方法 Apr 07, 2025 pm 03:06 PM

ブートストラップの日付を確認するには、次の手順に従ってください。必要なスクリプトとスタイルを紹介します。日付セレクターコンポーネントを初期化します。 Data-BV-Date属性を設定して、検証を有効にします。検証ルール(日付形式、エラーメッセージなどなど)を構成します。ブートストラップ検証フレームワークを統合し、フォームが送信されたときに日付入力を自動的に検証します。

See all articles