Este es el CSS:
div {
width: 0;
height: 0;
border: 180px solid red;
border-radius: 180px;
}
¿Cómo produce el círculo de abajo?
Supongamos que si el ancho de un rectángulo es de 180 píxeles y la altura es de 180 píxeles, entonces se vería así:
Después de aplicar un radio de borde de 30 píxeles, se vería así:
El rectángulo se está volviendo más pequeño, es decir, casi desaparecerá si aumenta el tamaño del radio.
Entonces, ¿cómo un borde de 180 píxeles se height/width-> 0px
convierte en un círculo con un radio de 180 píxeles?
html
css
css-shapes
Navin Rauniyar
fuente
fuente
circle
con borde? podemos hacer fácilmentecircle
conwidth
yheight
por qué lo hacemos conborder
Respuestas:
Reformulemos eso en dos preguntas:
¿Dónde aplicar
width
y enheight
realidad aplicar?Echemos un vistazo a las áreas de un cuadro típico ( fuente ):
El
height
ywidth
se aplican sólo en el contenido, si el modelo de caja correcta está siendo utilizado (sin modo de peculiaridades, sin antigua de Internet Explorer).¿Dónde se
border-radius
aplica?El se
border-radius
aplica en el borde del borde. Si no hay relleno ni borde, afectará directamente su borde de contenido, lo que resulta en su tercer ejemplo.¿Qué significa esto para nuestro radio / círculo fronterizo?
Esto significa que sus reglas CSS dan como resultado un cuadro que solo consta de un borde. Sus reglas establecen que este borde debe tener un ancho máximo de 180 píxeles en cada lado, mientras que, por otro lado, debe tener un radio máximo del mismo tamaño:
En la imagen, el contenido real de su elemento (el pequeño punto negro) es realmente inexistente. Si no aplicaste ninguno
border-radius
, terminarías con el cuadro verde. Elborder-radius
te da el círculo azul.Se vuelve más fácil de entender si aplicas el
border-radius
único a dos esquinas :Como en su ejemplo el tamaño y el radio de todas las esquinas / bordes son iguales, se obtiene un círculo.
Recursos adicionales
Referencias
Manifestaciones
border-radius
afecta el borde (piense en el cuadro azul interno como el cuadro de contenido, el borde negro interno como el borde del relleno, el espacio vacío como el relleno y el borde rojo gigante como, bueno, frontera). Las intersecciones entre el cuadro interior y el borde rojo generalmente afectarían el borde del contenido.Mostrar fragmento de código
fuente
border-radius
(qué cambios se esperan en la reescritura de css3- ¿caja?).circle
con borde? podemos hacer fácilmentecircle
conwidth
yheight
por qué lo hacemos conborder
height/width-> 0px
convierte en un círculo con un radio de 180 px?" . Simplemente respondí la pregunta. Hay otras formas de crear un círculo, pero OP solo estaba interesado en cómo funciona este método específico.overflow
familia de propiedades) ahora vive en su propio módulo, css-overflow-3, pero eso aún no se ha reflejado en el ED. Verá muchos problemas en el ED, pero imagino que no es una lista exhaustiva: dev.w3.org/csswg/css3-boxManifestación
Examinemos la pregunta de otra manera con esta demostración de imagen:
Veamos primero cómo se produce el radio del borde.
Para producir el radio se necesitan dos lados de su borde. Si establece el radio del borde en 50 píxeles, se necesitarían 25 píxeles de un lado y 25 píxeles del otro lado.
Y tomando 25 píxeles de cada lado produciría así:
¿Ahora ve cuánto puede tomar el máximo de cuadrado para aplicar en una esquina?
Puede tomar hasta 180 píxeles desde la parte superior y 180 píxeles desde la derecha. Entonces produciría así:
Y mira esto, ¿cómo se produce si establecemos un valor de radio no igual?
Supongamos que si aplica el radio del borde solo a dos esquinas de manera desigual:
esquina superior derecha a 180 píxeles
esquina inferior derecha a 100 píxeles
Entonces tomaría
arriba a la derecha: 90 píxeles desde la parte superior y 90 píxeles desde la derecha
abajo a la derecha: 50 píxeles desde la derecha y 50 píxeles desde la parte inferior
Entonces produciría así
¿Cuánto máximo de su borde puede tomar del cuadrado para aplicar en todos los lados? ¿Y ves cómo produce un círculo?
Puede ocupar hasta la mitad del tamaño del borde, es decir, 180 píxeles / 2 = 90 píxeles. Entonces produciría un círculo como este
¿Por qué solo se necesita la mitad del cuadrado para aplicar en todos los lados?
Porque todas las esquinas tienen que establecer su valor de radio por igual.
Tomando partes iguales de su borde, produce un círculo.
fuente
Los bordes son el cuadro exterior de cualquier contenido y si aplicas el radio sobre él, simplemente producirá el borde circular.
fuente
Creo que inicialmente crea un rectángulo con
height and width = 180px
y luego hace una curva con un radio dado como30px
en cada esquina. Entonces se estableceborder
con dadoradius
.fuente
Ambos
.a
y.b
darán el mismo resultado.P. ¿Por qué lo usé
width: 360px; height: 360px;
?A.
border: 180px solid red;
en.a
obras comoborder-width: 180px 180px 180px 180px; /* Top Right Bottom Left */
.Espero que este violín te ayude a entender el concepto.
fuente