28172 sujets

CSS et mise en forme, CSS3

Bonjour,

je cherche une solution pour aligner du texte vers la gauche en suivant le contour d'un visage dans une image (dont la partie droite est transparente). J'aimerai bien éviter d'intégrer le texte à l'image, je ne sais pas si c'est possible en css, svg ou autre.

Par exemple pour que le texte soit aligné à gauche en suivant l'arrondi dans l'exemple ci dessous:

<html>
<head>
    <style>
        #rond {
              width:200px;
              height:400px;
              border-radius:0 50% 50% 0;
              background-color:lightblue;
              float:left;
        }
    </style>
</head>
<body>

<div id="rond"></div>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque tristique fermentum aliquet. Donec quam elit, pulvinar eu tempus ut, pharetra id lectus. Sed nisi diam, aliquet accumsan porttitor eu, finibus vitae est. Morbi et dui vitae odio scelerisque volutpat. Vestibulum dolor nisl, lacinia in pharetra id, consectetur eget velit. Sed accumsan, justo at malesuada cursus, nunc ipsum facilisis neque, ut laoreet felis dui eget ligula. Mauris interdum elit vitae malesuada hendrerit. Proin interdum, nunc et laoreet mattis, dui ante feugiat augue, gravida fermentum quam sem et justo. Etiam ultricies facilisis lorem. Ut vitae ultrices metus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque tristique fermentum aliquet. Donec quam elit, pulvinar eu tempus ut, pharetra id lectus. Sed nisi diam, aliquet accumsan porttitor eu, finibus vitae est. Morbi et dui vitae odio scelerisque volutpat.</p>
</body>
</html>

Modifié par Cyberdome (18 Oct 2016 - 18:32)
Administrateur
Bonjour,

Oui c'est possible mais pas supporté par tous les navigateurs.

Cette spécification se nomme "CSS Shapes", elle est pour ainsi dire finalisée (en Candidate Recommandation) et tu as ici un très bon article pour illustrer sa mise en production dans un cadre d'enrichissement progressif : http://www.lottejackson.com/learning/supports-will-change-your-life

Bonne journée Smiley smile
Modifié par Raphael (12 Oct 2016 - 08:08)
Super, merci pour vos réponses Smiley smile

j'ai essayé de le faire avec shape-image-threshold et l'image en alpha mais il y a quelque chose qui coince que je n'ai pas encore trouvé.

Du coup j'ai testé avec shape-outside:polygon() ça fonctionne nickel.

Par contre j'ai relevé les coordonnées des points dans Gimp, un peu fastidieux, est ce qu'il y aurait une méthode plus automatisée pour le faire?

J'ai vu qu'il y a un plugin Adobe pour Brackets qui automatise la tache: http://blogs.adobe.com/webplatform/2014/04/17/css-shapes-editor-in-brackets/