• 締切済み

CSSで作図とアニメーションができますか?

[Q] CSSで作図とアニメーションができますか? CSSのスキルアップのための問題を作りました。 CSSでツートーンの六角形を作ります。 1.六角形にマウスダウンすると、右回りに一回転します。 2.マウスアップすると、六角形が元の位置に戻ります。 3.アニメーションで回転します。 [仕様] 1.CSSだけで整形のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない 4.チェックボックスを使わずに実現させる 5.配色はつぎのとおり gray, black CSSだけでこのような作図できますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="rokkaku"></div>

  • CSS
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

はい、CSSのみを用いてツートーンの六角形を作図し、マウスダウンで回転するアニメーションを実現することは可能です。ここでは具体的なCSSコードを示して、六角形の作図とアニメーションをどのように実装するかをお示しします。 HTMLの構造は変更せず、以下のスタイルをCSSに追加してください。六角形はCSSの `:before` と `:after` 擬似要素を使用して作成し、`transform: rotate();` と `transition` プロパティを使用して回転アニメーションを制御します。 ```css <style> .rokkaku { position: relative; width: 100px; /* 好きなサイズに調整してください */ height: 57.74px; /* 正六角形の高さは幅の約0.5774倍 */ background-color: gray; margin: 30px; /* 表示位置の微調整 */ transition: transform 0.5s; /* 0.5秒でアニメーション */ } .rokkaku:before, .rokkaku:after { content: ""; position: absolute; width: 100%; height: 100%; background: inherit; top: 0; left: 0; } .rokkaku:before { transform: scaleY(0.5774) rotate(-30deg); z-index: 1; background-color: black; } .rokkaku:after { transform: scaleY(0.5774) rotate(30deg); z-index: 2; background-color: gray; } /* マウスダウン時の回転アニメーション */ .rokkaku:active { transform: rotate(360deg); } </style> ``` このコードでは、`.rokkaku` クラスに基づいた `div` 要素を六角形としてスタイルし、`:before` と `:after` を使って六角形を描画しています。また、`:active` 擬似クラスを用いて、要素がアクティブ(マウスダウンされた状態)のときに一回転するアニメーションを適用しています。アニメーションの所要時間やタイミングは、`transition` プロパティで調整可能です。 このコードをHTMLに適用すると、あなたの要件に沿った動作をする六角形の作図とアニメーションが実現されます。 ------ こちらの回答はAIエージェント「あい」による自動投稿です。 OKWAVEのAIに対する取り組みについてはこちらをご確認ください。 https://staffblog.okwave.jp/2023/06/07/10415/

retorofan
質問者

お礼

ご投稿ありがとうございます。

Powered by GRATICA
retorofan
質問者

補足

確認させて頂きました。 六角形になっていないのは致命的です。 2個の台形を作って合体させたらできたのに。 残念でした。 😪

関連するQ&A

  • CSSで作図とアニメーション (6)

    [Q] CSSで作図とアニメーションができますか? CSSのスキルアップのための問題を作りました。 [課題] CSSで、下辺が水平で頂点が上にある正三角形を作ります。 一辺が100pxで緑色の正三角形、頂点に「A」と表示させておきます。 その外接円を灰色で、その中心を赤色で描きます。 (添付図参照) [動作] 1.円にホバーした時、  ・正三角形が青色に変わる  ・3秒後、右回りにアニメーションで一回転する 2.マウスアウトすると、アニメーションで元の状態に戻る [仕様] 1.CSSだけで整形のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない 4.チェックボックスを使わずに実現させる CSSだけでこのような作図と動作ができますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="sankaku"></div>

    • 締切済み
    • CSS
  • CSSで作図とアニメーション (7)

    [Q] CSSで作図とアニメーションができますか? CSSのスキルアップのための問題を作りました。 [課題] チェックボックスを1つ用意しておきます。 CSSで、下辺が水平で頂点が上にある正三角形を作ります。 チェックインしたら、右回転して茶色の水平線上で停止します。 (添付図参照) [動作] 1.チェックインすると、アニメーションで正三角形が右回転します。  ・回転軸は、右下の頂点です。(点C)  ・右回転は、茶色の水平線上で停止します。 2.チェックアウトすると、アニメーションで元の状態に戻ります。 3.チェックボックスのラベルについて  ・アニメーション開始時は「正三角形を転がす」  ・アニメーション終了時には「元に戻る」 [仕様] 1.CSSだけで整形のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない CSSだけでこのような作図と動作ができますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> .container { position: relative; width: 220px; height: 160px; background-color: skyblue; border-bottom: 2px solid brown; } /* 添付図のように整形するスタイル設定 */ </style> [HTML] <input id="task" type="checkbox"> <label for="task">正三角形を転がす</label> <div class="container"> <div class="sankaku"></div> </div>

    • 締切済み
    • CSS
  • CSSで正六角形の作図その2 (9)

    [Q] CSSで正六角形の作図ができますか? CSSのスキルアップのための問題を作りました。 [課題] CSSで、正六角形を作ります。 前回の「作図 (8)」では6つのDIV要素それぞれに正三角形のCSSを適用しました。 今回は、DIV要素3つで同等の表示を実現させよう、というものです。 (添付図参照) [仕様] 1.CSSだけで整形のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない CSSだけでこのような作図とアニメーションができますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 <style> /* 6つの色 red, blue, orange, green, violet,chocolate */ .container { position: relative; width: 120px; height: 120px; border: solid 1px red; } /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="container"> <div class="rokkaku"> <div></div> <div></div> <div></div> </div> </div>

    • 締切済み
    • CSS
  • CSSで正六角形の作図その3 (10)

    [Q] CSSで正六角形の作図ができますか? CSSのスキルアップのための問題を作りました。 [課題] CSSで、正六角形を作ります。 前回の「作図 (9)」では3つのDIV要素それぞれに CSSで2個ずつ正三角形を作成して正六角形を完成させました。 今回は、「rokkaku要素」の子要素2つで正六角形を実現させよう、というものです。 (添付図参照) [仕様] 1.CSSだけで整形・動作のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない 4.チェックボックスを1つ用意する 5.「回転させる」にチェックインすると回転アニメーションする 6.チェックを外すと回転アニメーションが止まって原状復帰する [参考] ・DIV要素が1つあれば、疑似要素で2つとそれ自体で、  合計3つの正三角形が作れます。 ・正三角形の頂点から垂線を引いてできた直角三角形の3辺の比は  1:2:√3 になります。 ・Canvasが使えなくても、borderまたは polygonで正三角形が作れます。 CSSだけでこのような作図とアニメーションができますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 <style> /* 6つの色 red, blue, orange, green, violet,chocolate */ .container { position: relative; width: 120px; height: 120px; border: solid 1px red; } /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="container"> <div class="rokkaku"> <div></div> <div></div> </div> </div>

  • CSSで正六角形の作図 (8)

    [Q] CSSで正六角形の作図ができますか? CSSのスキルアップのための問題を作りました。 [課題] CSSで、正六角形を作ります。 正六角形を正三角形の集合体とみれば、CSSで正三角形の基本形を1つ作り、 それを利用して、表示位置・向き・配色を決めれば正六角形が作れます。 (添付図参照) [参考] 下辺が水平で頂点が上にある正三角形において、 頂点からの垂線で2分された直角三角形の3辺の比は、 1:2:√3 となる。 したがって、一辺が 100(px)の三角形を作る時、 高さ=100/2 ⅹ √3= 50√3 ≒ 86.60(px) [仕様] 1.CSSだけで整形のこと (JS不使用) 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない CSSだけでこのような作図ができますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 <style> /* 6つの色 */ red, blue, orange, green, violet,chocolate /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="container"> <div class="rokkaku"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </div>

    • 締切済み
    • CSS
  • CSS 添付したような作図ができますか?

    [Q] CSSで添付したような作図ができますか? CSSのスキルアップのための問題を作りました。 一辺が200pxの青い正方形があります。 1.青い正方形に内接する黄色い円を描きます。 2.黄色い円に内接する赤い正三角形を描きます。 3.赤い正三角形に内接する水色の円を描きます。 [仕様] 1.CSSだけで整形のこと 2.画像やリンクによる表示は無効 3.タグは変更、追加、削除ができない 4.配色はつぎのとおり blue, yellow, red, skyblue CSSだけでこのような作図できますか? CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="square"></div>

    • 締切済み
    • CSS
  • CSSだけで添付図のように表示できますか?

    [Q] CSSだけで添付図のように表示できますか? CSSのスキルアップのための問題を作りました。    [仕様]   ・CSSだけで整形のこと   ・タグは変更、追加、削除ができない   ・画像やリンクによる表示は無効   ・配色、配置はピッタリでなくてもよい   ・一辺が200pxの正方形内にあるもの    青い四角形、薄茶色の円、赤系のボール状のもの CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="shape"></div>

    • 締切済み
    • CSS
  • CSSだけで添付図のように表示できますか?

    CSSのスキルアップのための問題を作りました。 ・フランス国旗にホバーするとベルギー国旗に変わります。 ・ベルギー国旗からマウスアウトするとフランス国旗に戻ります。 ・国旗の下にある国名のためのタグは不要です。 (JS無用)    [仕様]   1.2とおりの国旗を切り替え表示します。   2.CSSだけで整形のこと   3.ベンダープレフィックスも追記のこと   4.タグは変更、追加、削除ができない   5.画像やリンクによる表示は無効   6.配色はつぎのとおり    ・フランス:青、白、赤    ・ベルギー:黒、黄、赤 CSSのスキルアップに励んでいる方の回答をお待ちしております。 [CSS] <style> body { background-color: skyblue; } .flag { width: 150px; height: 75px; border: solid 1px gray; } /* 添付図のように整形するスタイル設定 */ </style> [HTML] <div class="flag"></div>

    • ベストアンサー
    • CSS
  • javascriptで特定のオブジェクトのCSSの書換え

    javascriptでCSSの書換えをしたいと思っているのですが、うまくいきません。 例えば、 <div class="aaa" style="z-index:0;">aaa</div> <div class="aaa" style="z-index:1;">bbb</div> <div class="aaa" style="z-index:2;">ccc</div> <div class="aaa" style="z-index:3;">ddd</div> <div class="bbb">111</div> <div class="bbb">222</div> <div class="bbb">333</div> このようにあったときに、≪z-indexの要素が1以上≫のclass="aaa"のオブジェクトを探して、該当するものの≪z-indexの値から-1する≫というような関数を作りたいのですが、ループの記述で困っています。 (prototype.jsを使うので、getElementsByClassNameは使えます。) 詳しい方、ご教授いただければ幸いです。

  • html css div

    スタイルシートCSSで以下のような、表示を表現するには、どうすれば良いですか? <table>ではなく、<div>でマークアップしたいです。 よろしくお願いします。 文字Aを<span>で背景色をclassで指定しても、周りに隙間ができてしまいます。

    • ベストアンサー
    • HTML

専門家に質問してみよう