Как сделать круговой фон с помощью CSS? - PullRequest
36 голосов
/ 03 января 2012

Мне нужно сделать что-то вроде этого.и я хочу сделать это для <div></div>, который имеет width в %

enter image description here

Я могу сделать это, используя изображение и добавив еще один div внутрии z-index.

Но я хочу знать, возможно ли сделать этот круг в backgroud, используя css.

Ответы [ 7 ]

57 голосов
/ 19 февраля 2014

Не усложняйте :

.circle
  {
    border-radius: 50%;
    width: 200px;
    height: 200px; 
  }

Ширина и высота могут быть любыми, если они равны

32 голосов
/ 09 июля 2013

Проверьте с помощью следующих CSS. Демо

.circle { 
   width: 140px;
   height: 140px;
   background: red; 
   -moz-border-radius: 70px; 
   -webkit-border-radius: 70px; 
   border-radius: 70px;
}

Для большего количества фигур вы можете следовать следующим URL:

http://davidwalsh.name/css-triangles

14 голосов
/ 03 января 2012

Это можно сделать с помощью свойства border-radius. в основном, вам нужно установить border-radius равным половине высоты и ширины, чтобы получить круг.

JSFiddle

HTML

<div id="container">
    <div id="inner">
    </div>
</div>

CSS

#container
{
    height:400px;
    width:400px;
    border:1px black solid;
}

#inner
{
    height:200px;
    width:200px;
    background:black;
    -moz-border-radius: 100px;
    -webkit-border-radius: 100px;
    border-radius: 100px;
    margin-left:25%;
    margin-top:25%;
}
5 голосов
/ 10 ноября 2016

Градиенты

div {
  width: 400px; height: 400px;
  background: radial-gradient(ellipse at center,  #f73134 0%,#ff0000 47%,#ff0000 47%,#23bc2b 47%,#23bc2b 48%);
}

https://fiddle.jshell.net/su5oyd4L/

5 голосов
/ 03 января 2012

Вы можете использовать псевдоклассы :before и :after, чтобы поместить многослойный фон в элемент.

#divID : before {
    background: url(someImage);
}

#div : after {
    background : url(someotherImage) -10% no-repeat;
}
1 голос
/ 09 июля 2013

Здесь - решение для этого с одним div элементом со свойствами CSS, border-radius делает чудо.

CSS:

.circle{
    width:100px;
    height:100px;
    border-radius:50px;
    font-size:20px;
    color:#fff;
    line-height:100px;
    text-align:center;
    background:#000
}

HTML:

<div class="circle">Hello</div>
0 голосов
/ 03 января 2012

Если вы хотите сделать это только с 1 элементом, вы можете использовать псевдоэлементы :: before и :: after для того же самого div вместо оболочки.
См. http://css -tricks.com/ псевдо-элемент-Roundup /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...