%で横幅を指定し、縦幅も横幅と同じにしたいのですがどうしたらよいでしょうか?
【html】
<div class="a">
<div class="b">りんご</div>
<div class="b">ばなな</div>
<div class="b">ぶどう</div>
</div>
【css】
.a{
display:flex;
width:800px}
.b{
width:32%
}
.b+.b{
margin-left:2%;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
親要素のサイズを絶対値指定しているので、先に計算して800×0.32=256pxを指定するのなら簡単ですが、あくまでも%で指定したいということですよね?
単位の%そのままではなく、0.32倍という指定方法でも良ければ、親要素の幅をCSS変数にしておいて、それを基に計算するという方法が使えるかも知れません。
(等間隔配置なら、space-betweenを利用しておく方が柔軟性があるかも知れません。)
.a{
--boxWidth: 800px;
display: flex;
justify-content: space-between;
width: var(--boxWidth);
}
.b{
background-color: #CCF; /* 確認用カラー */
width: calc(var(--boxWidth) * 0.32);
height: calc(var(--boxWidth) * 0.32);
}
対応していないブラウザが存在するかも知れませんのでご注意。
https://developer.mozilla.org/ja/docs/Web/CSS/Us …
一方で、親要素の幅が画面幅と同じ(または一定比率)である場合は、単位vwを利用して 32vwを高さ・幅ともに指定することで簡単に設定可能です。
別の方法として、まず固定サイズで正方形に作成しておいて、transform scaleで32%になるように拡大(縮小)するという方法も考えましたが、文字サイズ等が一緒に影響を受けてしまうので、没としました。
また、ご質問の範囲からは外れてしまいますが、スクリプトで「幅と同じ高さを設定する」という方法も考えられます。
No.1
- 回答日時:
これはハマリ処。
%は親要素に対するもの。
また、高さ基準が無いから上手く行かない。
で、裏技が1個。
先ず、width:32%は、正しくwidth:32%;として;を入れる。
で、.bに以下を追加して値を調整する。
padding-bottom:32%;
色々試す場合は、各要素にborderを設定して、どういう矩形になるかを確認する様に。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
- JavaScript htmlとcssに関する質問です 3 2022/12/06 05:36
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
超音波で洗脳。
-
【ヒトの神秘】美男美女から何...
-
含む含まないという概念自体の...
-
「諸要素」とはどういう意味で...
-
HTMLページ上でiframeを最前面...
-
改行ほどは行かないけど、若干...
-
smallにtext-allignが効かない
-
HTMLの〈li〉について教えてく...
-
H1タグを画像にしたい
-
角丸画像の背景色を透明にした...
-
親要素・子要素
-
input type="hidden"で取得した...
-
cssのdisplay:block
-
border: noneでボタンの境界線...
-
タグは大文字と小文字どちらが...
-
aタグの中にdivタグを入れる場...
-
タグの締め
-
tdに対してmin-heightの定義、...
-
拡大してもはみ出さないコーデ...
-
質問サイトで、求めてもいない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ヒトの神秘】美男美女から何...
-
smallにtext-allignが効かない
-
含む含まないという概念自体の...
-
還暦を過ぎた方々に質問です。
-
「諸要素」とはどういう意味で...
-
質問1.
-
textareaの幅を画面と合わせたい
-
角丸画像の背景色を透明にした...
-
2個のFormを横並びにしたい
-
テキストボックスの中にリンク...
-
HTMLです 四角みたいにして中に...
-
CSS:overflow要素の印刷について
-
input type="hidden"で取得した...
-
tdに対してmin-heightの定義、...
-
HTMLページ上でiframeを最前面...
-
タグは大文字と小文字どちらが...
-
HTMLです
-
2行にしたい要素、改行か分割...
-
改行ほどは行かないけど、若干...
-
H1タグを画像にしたい
おすすめ情報