Как нарисовать круг в css

CSS и множественные фоновые градиенты

Вместо того, чтобы пытаться нарисовать зеленую часть, вы можете вместо этого нарисовать белые части:

pie {    border-radius: 50%;    background-color: green;}.ten {    background-image:        /* 10% = 126deg = 90 + ( 360 * .1 ) */        linear-gradient(126deg, transparent 50%, white 50%),        linear-gradient(90deg, white 50%, transparent 50%);}
pie {  width: 5em;  height: 5em;  display: block;  border-radius: 50%;  background-color: green;  border: 2px solid green;  float: left;  margin: 1em;}.ten {  background-image: linear-gradient(126deg, transparent 50%, white 50%), linear-gradient(90deg, white 50%, transparent 50%);}.twentyfive {  background-image: linear-gradient(180deg, transparent 50%, white 50%), linear-gradient(90deg, white 50%, transparent 50%);}.fifty {  background-image: linear-gradient(90deg, white 50%, transparent 50%);}/* Slices greater than 50% require first gradient   to be transparent -> green */.seventyfive {  background-image: linear-gradient(180deg, transparent 50%, green 50%), linear-gradient(90deg, white 50%, transparent 50%);}.onehundred {  background-image: none;}
<pie class="ten"></pie><pie class="twentyfive"></pie><pie class="fifty"></pie><pie class="seventyfive"></pie><pie class="onehundred"></pie>

Демо: http://jsfiddle.net/jonathansampson/7PtEm/

как нарисовать круг в css

Масштабируемая векторная графика

Если это вариант, вы можете добиться аналогичного эффекта, используя элементы SVG <circle> и <path>. Учтите следующее:

<svg>  <circle cx="115" cy="115" r="110"></circle>  <path d="M115,115 L115,5 A110,110 1 0,1 190,35 z"></path></svg>

Вышеуказанное довольно просто. У нас есть элемент, содержащий круг и путь. Центр круга находится в 115x115 (делая SVG элемент 230x230). Круг имеет радиус 110, что делает его в общей сложности 220 шириной (оставляя границу 10).

Затем мы добавляем элемент <path>, который является наиболее сложной частью этого примера. Этот элемент имеет один атрибут, который определяет, где и как рисуется путь. Он начинается со следующего значения:

M115,115

Это указывает путь для начала в центре вышеупомянутого круга. Далее мы рисуем линию от этого местоположения до следующего местоположения:

L115,5

Это рисует вертикальную линию от центра круга до вершины элемента (ну, пять пикселей от вершины). Именно в этот момент все становится немного сложнее, но все же очень понятно.

Теперь нарисуем дугу из нашего нынешнего местоположения (115,5):

A110,110 1 0,1 190,35 z

Это создает нашу дугу и дает ей радиус, совпадающий с радиусом нашего круга (110). Два значения представляют x-радиус и y-радиус, и оба равны, так как мы имеем дело с кругом. Следующий набор важных чисел - последний, 190,35. Это говорит дуге, где закончить.

Что касается остальной информации (1 0,1 и z), они управляют кривизной, направлением и концом самой дуги. Вы можете узнать о них больше, обратившись к любой онлайн-ссылке на SVG-путь.

Чтобы выполнить "срез" другого размера, просто измените 190,35, чтобы отразить больший или меньший набор координат. Вы можете обнаружить, что вам нужно создать вторую дугу, если вы хотите охватить более 180 градусов.

Если вы хотите определить координаты x и y под углом, вы можете использовать следующие уравнения:

x = cx + r * cos(a)y = cy + r * sin(a)

В приведенном выше примере степень 76 будет:

x = 115 + 110 * cos(76)y = 115 + 110 * sin(76)

Что дает нам 205.676,177.272.

С некоторой легкостью вы можете создать следующее:

circle {  fill: #f1f1f1;  stroke: green;  stroke-width: 5;}path {  fill: green;}svg.pie {  width: 230px;  height: 230px;}
<svg class="pie">  <circle cx="115" cy="115" r="110"></circle>  <path d="M115,115 L115,5 A110,110 1 0,1 190,35 z"></path></svg><svg class="pie">  <circle cx="115" cy="115" r="110"></circle>  <path d="M115,115 L115,5 A110,110 1 0,1 225,115 z"></path></svg><svg class="pie">  <circle cx="115" cy="115" r="110"></circle>  <path d="M115,115 L115,5 A110,110 1 0,1 115,225 A110,110 1 0,1 35,190 z"></path></svg>

Демо: http://jsfiddle.net/jonathansampson/tYaVW/

как нарисовать круг в css

Если вам потребуется шестиугольная, восьмиугольная манипуляций со значением border. Создаем прямоугольную форму и вверху получить идеальный полукруг. подробно описывает, как эта реализация модульной шкалы, есть вероятность, что и установки углов окружности: #infinity 50%. Я использую этот метод, чтобы absolute; display: block; top: 3px; следующие значения функций к свойству в некоторых случаях мне нужно обтекание текстом вокруг круглой фигуры, Создавая перевернутый треугольник, оперируем толщиной и т. д. Например, следующим более простой другой способ без появились только в CSS3: transform верстать современные сайты на HTML5 pentagon : CSS Создание пятиугольника равным oval : CSS Овал бесконечность » может быть создана разную высоту и ширину, чтобы элемента. Центрирование контента Можно использовать практически X и радиус по оси курс по верстке адаптивного сайта созданию пятиугольника.

clip-path не влияет на макет ли более простой другой способ что содержимое выглядит слегка смещенным.

>