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

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

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

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

Q&A

解決済

3回答

4054閲覧

liのbackgroundに対してのborder radiusがうまくできません

kkei

総合スコア5

CSS

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

0グッド

0クリップ

投稿2020/01/23 19:21

前提・実現したいこと

質問見ていただきありがとうございます。早速質問なのですが、
list全体の背景の角を丸くしたいです。
div または ul に対してborder radiusをつかうとなにも変わらず、liに使うと一行一行に対して適用されます。背景全体のかどを丸くするにはどうしたらいいでしょうか?
エラーは出ていません。

あとulをdivで囲んだ時適用されないことがよくあります。
例えばdivのクラス名abとしてcssを書いた場合
.ab{}これは適用されず .ab ul{}こっちはてきようされます。
この理由もよかったらお願いします。

webページの模写をしていまして
色々自分なりに調べたと思うのですが本当にわかりません。
初心者でくだらない質問かもしれませんがよろしくお願いいたします。

該当のソースコード

HTML

<div class="h3-list"> <ul> <li>来月から、新コースを時々開催します</li> <li>web最新動画トークセッション、参加者募集中</li> <li>今すぐ始めるキャンペーンで入会費が50%オフです。</li> </ul>

CSS

body{
max-width: 1140px;
max-width: auto;
margin: 0 auto;
background-color: rgb(201, 197, 197);
}

/お知らせ/

.h3-list ul{
border-radius: 10px;
padding-left: 0 ;
}

.h3-list li{
background-color: #fff;
padding-left: 10px;
list-style-position: inside;
}

.h3-list{
}

試したこと

div ul li各それぞれにborder-radius: 10px;をしようしました。

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

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

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

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

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

guest

回答3

0

解決済みですが、

list全体の背景の角を丸くしたいです。

ということなら、ul に背景色を設定するのが素直な解決法だと思います。

css

1.h3-list ul { 2 border-radius: 10px; 3 padding-left: 0; 4 background-color: #fff; 5} 6 7.h3-list li { 8 padding-left: 10px; 9 list-style-position: inside; 10}

投稿2020/01/23 22:41

hatena19

総合スコア34362

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

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

kkei

2020/01/24 00:42

なるほど! 有り難うございます! ためになりました! おぼえておきます!!
guest

0

ベストアンサー

border-radius プロパティは継承されないため、 ul 要素内に存在する li 要素が角丸部分からはみ出しています。これにより、 border-radius プロパティが動作していないように見えます。この動作は以下のような CSS を用いることでより視覚的に理解しやすくなります (動作確認用リンク)。

HTML

1<div class="outer"> 2 <div class="inner"> 3 </div> 4</div>

CSS

1.outer { 2 border-radius: 20px; 3 border: solid black; 4 height: 50px; 5} 6 7.inner { 8 background: red; 9 height: 50px; 10}

これを解決するためには、以下の二つの方法があります。

  1. 最初と最後の子要素 (li 要素) に対して border-radius プロパティを設定するようにする。
  2. overflow プロパティに hidden を設定し、 li 要素のはみ出した部分を非表示にする。

一つ目の修正を実施する場合、質問文の CSS を以下のように修正することで問題が解決します (動作確認用リンク)。

CSS

1body { 2 max-width: 1140px; 3 max-width: auto; 4 margin: 0 auto; 5 background-color: rgb(201, 197, 197); 6} 7 8.h3-list ul { 9 padding-left: 0; 10} 11 12.h3-list li { 13 background-color: #fff; 14 padding-left: 10px; 15 list-style-position: inside; 16} 17 18.h3-list li:first-child { /* 追記 */ 19 border-radius: 10px 10px 0 0; 20} 21 22.h3-list li:last-child { /* 追記 */ 23 border-radius: 0 0 10px 10px; 24}

二つ目の場合には、以下のように修正します (動作確認用リンク)。

CSS

1body { 2 max-width: 1140px; 3 max-width: auto; 4 margin: 0 auto; 5 background-color: rgb(201, 197, 197); 6} 7 8.h3-list ul { 9 border-radius: 10px; 10 padding-left: 0; 11 overflow: hidden; /* 追記 */ 12} 13 14.h3-list li { 15 background-color: #fff; 16 padding-left: 10px; 17 list-style-position: inside; 18}

投稿2020/01/23 20:24

s8_chu

総合スコア14731

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

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

0

おはようございます!
お速い回答本当にありがとうございます!
なるほど理解できました!
そーゆーことだったんですね!
スッキリしました!
本当に丁寧に回答していただきありがとうございます!。

投稿2020/01/23 22:01

kkei

総合スコア5

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問