Jak narysować okrąg za pomocą HTML5 i CSS3?
Czy można również umieścić tekst w środku?
html
css
geometry
css-shapes
Siergiej Metłow
źródło
źródło
Odpowiedzi:
Nie możesz narysować koła jako takiego. Ale możesz zrobić coś identycznego z kołem.
Musiałbyś utworzyć prostokąt z zaokrąglonymi narożnikami (przez
border-radius
), które stanowią połowę szerokości / wysokości koła, które chcesz zrobić.źródło
border-radius: 50%;
działa dobrze, zmień rozmiar zgodnie z potrzebami. Do koloru możesz użyćbackground-color
lubborder
.Jest to całkiem możliwe w HTML 5 . Dostępne opcje to: Osadzone SVG i
<canvas>
tag .Aby narysować okrąg w osadzonym SVG:
Zakreśl
<canvas>
:źródło
Istnieje kilka kręgów Unicode, których możesz użyć:
Więcej kształtów tutaj .
Możesz nałożyć tekst na kręgi, jeśli chcesz:
Pokaż fragment kodu
Możesz także użyć niestandardowej czcionki (takiej jak ta ), jeśli chcesz mieć większą szansę, że będzie wyglądać tak samo w różnych systemach, ponieważ nie wszystkie komputery / przeglądarki mają zainstalowane te same czcionki.
źródło
border-radius:50%
jeśli chcesz, aby koło dostosowywało się do dowolnych wymiarów pojemnika (np. jeśli tekst ma zmienną długość)Nie zapomnij o przedrostkach
-moz-
i-webkit-
!źródło
Od 2015 r. Możesz to zrobić i wyśrodkować tekst za pomocą zaledwie 15 linii CSS ( Fiddle ):
Bez
-webkit-
s, działa to w IE11, Firefox, Chrome i Opera, i jest poprawne w HTML5 (eksperymentalne) i CSS3.To samo na MS Edge (2020).
źródło
źródło
Możesz użyć atrybutu border-radius, aby nadać mu border-radius odpowiednik border-radius elementu. Na przykład:
(Powodem używania rozszerzeń -moz i -webkit jest obsługa końcowych wersji Gecko i Webkit przed CSS3).
Na tej stronie jest więcej przykładów . Jeśli chodzi o wstawianie tekstu, możesz to zrobić, ale musisz pamiętać o pozycjonowaniu, ponieważ model wypełnienia pól w większości przeglądarek nadal używa zewnętrznego kwadratu.
źródło
Technicznie nie ma sposobu na narysowanie okręgu za pomocą HTML (nie ma
<circle>
tagu HTML), ale można narysować okrąg.Najlepszym sposobem na narysowanie jednego jest dodanie
border-radius: 50%
do tagu, takiego jakdiv
. Oto przykład:źródło
border-radius: 50%;
zamieni wszystkie elementy w okrąg, niezależnie od rozmiaru. Przynajmniej tak długo , jak długoheight
iwidth
tarczy są takie same, w przeciwnym razie zmieni się w owal .Uwaga : przedrostki przeglądarki nie są już potrzebne dla border-radius
Alternatywnie możesz użyć,
clip-path: circle();
aby zamienić element również w okrąg. Nawet jeśli element ma większewidth
niżheight
(lub odwrotnie), nadal stanie się okręgiem, a nie owalem.Uwaga : clip-path nie jest (jeszcze) obsługiwany przez wszystkie przeglądarki
Możesz umieścić tekst wewnątrz okręgu, po prostu wpisując tekst wewnątrz tagów celu, na
przykład:
Jeśli chcesz wyśrodkować tekst w okręgu, możesz wykonać następujące czynności:
źródło
Możesz użyć właściwości border-radius lub utworzyć element div o stałej wysokości i szerokości oraz tło z okręgiem png.
źródło
Po prostu wykonaj następujące czynności w tagach skryptu:
I oto masz swój krąg.
źródło
źródło
źródło
prosty i nowicjusz :)
źródło
źródło
Jeśli używasz Sassa do pisania CSS, możesz:
Które wyjścia:
Wypróbuj tutaj: https://www.sassmeister.com/
źródło