質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

6587閲覧

border-radiusでborderの内側にも丸みをつけたい

morioka1206

総合スコア33

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/12/24 05:59

border-radiusを使って丸みをつけたボタンを作成しています。

https://i.gyazo.com/c4d1ba9a771aa153cdc40de1d8c580f1.png

こんなかんじでborderの内側も丸みをつけた感じにしたいのですが、
通常どおりborder-radiusをつけると外側しか丸みが付かず、内側は角ばったものになってしまいます。

内側にも丸みをつけるために子要素をつくりそれにもborder-radiusをつけてやろうとしてもうまくいきませんでした。
丸い線を書くような感じになるにはどのようにすればいいでしょうか?

css

1// WEBで予約 2 .web-reserve { 3 width: 230px; 4 height: 60px; 5 border-radius: 3px; 6 // background-color: #f13529; 7 display: flex; 8 justify-content: center; 9 align-items: center; 10 box-sizing: border-box; 11 border: 2.7px solid white; 12 overflow: hidden; 13 } 14 15 .web-reserve-button { 16 width: 230px; 17 height: 60px; 18 border-radius: 3px; 19 background-color: #f13529; 20 display: flex; 21 justify-content: center; 22 align-items: center; 23 }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

border-radius: 3pxborder: 2.7px solid whiteなので、内側に丸まる余地が0.3pxしかなく、ほとんど角に見えているのだと思います。
当方の環境では、ボーダー幅を2.3pxにして目いっぱい拡大したところ、わずかに丸みを確認できました。
イメージ説明

投稿2021/12/24 06:16

編集2021/12/24 06:17
Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

morioka1206

2021/12/24 06:19

ありがとうございます。 もしかしたらと思い、僕もborder-radiusを4pxにしたら丸みが出たのでそういうことなんだと理解しました。
sousuke

2021/12/24 07:28

ちょっと脇道にそれるんですけど、小数点のpxって描画できるんですか? おっさんなもんで小数点のpxってイメージがつかない…
Lhankor_Mhy

2021/12/24 07:30

「サブピクセル CSS」でググるといいかもしれないです。 あと、絶対私の方がおっさんです。
sousuke

2021/12/24 07:34

ありがとうございます!めっちゃググります笑
guest

0

自身のコメント欄と入力したつもりが回答欄に入力してました、失礼。

投稿2021/12/24 06:49

編集2021/12/24 07:07
recal

総合スコア1128

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

もっといいやり方ありそうですけど(疑似要素使ってdivの数減らせるとか)
htmlはそのままで
親のdiv側の背景を線に見立てる方法で実装してみました。
border色が白なので適当に背景色付けて確認してみてください。
内と外でborder-radiusの値をズラすとそれっぽくなりますね。

css

1.web-reserve { 2 border-radius: 7px; 3 background-color: white; 4 padding: 3px; 5 overflow: hidden; 6} 7 8.web-reserve-button { 9 color: white; 10 border-radius: 5px; 11 width: 230px; 12 height: 60px; 13 background-color: #f13529; 14 display: flex; 15 justify-content: center; 16 align-items: center; 17}

サンプル(わかりやすくするために、背景色付けたり中央寄せしたり余計な指定入っちゃってます。
https://codepen.io/recal/pen/zYEEgRO

投稿2021/12/24 06:46

recal

総合スコア1128

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

recal

2021/12/24 07:04

あれごめんなさい、リロードしてなかったから回答0に見えてて回答してしまいました(しかも的外れ)、 矩形に見えていたのは目の錯覚だったんですね!勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問