2010-09-15 18 views
18

Est-il possible de créer une bordure dans CSS3 telle qu'elles soient arrondies et pointillées?CSS3 Bordures arrondies et pointillées?

Je suis arrondir mes angles, mais ils semblent solides avec:

border: 1px dotted gray; 
-moz-border-radius-topright: 30px 20px; 
-moz-border-radius-topleft: 30px 20px; 

Le reste de la frontière est en pointillé, mais les coins sont solides. Je comprends que c'est spécifique à Firefox mais c'est bien pour le moment.

Merci

Répondre

27

C'est un bug dans firefox.voir ce issue, mozilla ne supporte pas les coins arrondis pour les pointillés et les pointillés.

+9

Cinq ans plus tard, ce bug est toujours là ..:/ – dschu

+2

Make it six ...! – Buzinas

+2

Ceci sera (enfin) corrigé [dans la prochaine version] (https://developer.mozilla.org/en-US/Firefox/Releases/50#CSS) de Firefox à venir en novembre: "Coins arrondis à la frontière avec pointillés et les styles en pointillés sont maintenant rendus avec le style spécifié au lieu d'un style solide " – vard

0

Oui, vous pouvez théoriquement avoir des frontières pointillées et arrondies, mais comme vous l'avez vu pratiquement les navigateurs ne supportent pas encore.

+0

Oui, je trouve le rapport de bug - https://bugzilla.mozilla.org/show_bug.cgi?id=382721 – jmcmahon

0

Une solution consiste à utiliser plusieurs images d'arrière-plan. Vous pouvez utiliser cette approche pour spécifier un background-image différent pour les quatre coins.

Vous pouvez également ajouter une cinquième image pour l'image d'arrière-plan centrale (répétée, si nécessaire).

Quelque chose le long des lignes de ...

.dashed-rounded-border { 

    border: 2px dashed blue; 

    background-image: url("top-left.png"), url("top-right.png"), url("bottom-right.png"), url("bottom-left.png"), url("center.png"); 
    background-position: left top, right top, right bottom, left bottom, center center; 
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, repeat-x; 

    -webkit-border-radius: 22px; 
    -moz-border-radius: 22px; 
    border-radius: 22px; 

} 
0

Ma solution à ce problème est

background: url('../images/dot.png'); 
background-size: 4px; 
background-position: bottom left; 
background-repeat: repeat-x; 

assurez-vous que l'image de points est juste un point avec un espace blanc sur le côté de celui-ci se dessèche . Après cela, vous devriez être bon.

enter image description here