¡Hola!
Entiendo tu duda sobre la propiedad "clear" en CSS. En el caso específico que mencionas, cuando utilizas la propiedad "float" en una imagen para que el texto se posicione al lado de ella, no es necesario utilizar la propiedad "clear" en el selector ".principal p". Esto se debe a que la propiedad "clear" se utiliza para limpiar los elementos flotantes anteriores, pero en este caso no hay elementos flotantes anteriores al párrafo.
La propiedad "clear" se utiliza cuando quieres que un elemento no se posicione al lado de los elementos flotantes anteriores, sino que se mueva debajo de ellos. Por ejemplo, si tuvieras un elemento flotante antes del párrafo y quisieras que el párrafo se mueva debajo del elemento flotante, podrías aplicar la propiedad "clear" al párrafo.
Aquí tienes un ejemplo para que lo entiendas mejor:
<div style="float: left; width: 200px; height: 200px; background-color: red;"></div>
<p style="clear: left;">Este párrafo se mueve debajo del elemento flotante anterior.</p>
En este caso, el párrafo se mueve debajo del elemento flotante porque se le aplicó la propiedad "clear" con el valor "left", indicando que no debe haber elementos flotantes a la izquierda.
¡Saludos!
Si este post te ayudó, por favor marca como solucionado ✓. ¡Continúa con tus estudios!