2012-02-03 3 views
0

Utilisation de CSS pour créer des triangles en utilisant le paramètre 'border-width'.Prévention de bump bizarre avec les bordures CSS

<div id="my-weird-triangle"></div> 
<style type="text/css"> 
    #my-weird-triangle{ 
     border-color: blue black black blue; 
     border-style:solid; 
     border-width:50px 50px 50px 50px; 
     width:0; 
     height:0; 
    } 
</style> 

Crée une sortie comme

Weird big

En fonction de vos écrans, vous pouvez ou ne pas remarquer, mais si vous effectuez un zoom au centre du triangle il y a un petit (probablement 1px) 'bosse' qui rend le triangle regard étrange

Weird small

Comment puis-je obtenir un CSS pur [3] angle droit t riangle sans cette bosse étrange au milieu?

+0

Quel navigateur/OS-vous vois ça? Je viens de faire un jsfiddle et ça me va bien. – MrMisterMan

+0

Firefox, OS/X. Cela me ressemble à la fois dans FF et Chrome. Safari et Opéra c'est bien. Je ne me soucie pas de IE (je ne l'ai pas aussi) – Smudge

+0

C'est probablement un problème de rendu spécifique au navigateur/OS que vous ne pouvez pas faire autrement que de modifier la taille de la bordure. – j08691

Répondre

1

Si vous changez la couleur de chaque bordure, vous remarquerez que les triangles supérieur et inférieur ne se touchent pas. Vous pouvez changer la largeur à 1px pour le corriger.

#my-weird-triangle{ 
     border-color: blue black black blue; 
     border-style:solid; 
     border-width:50px 50px 50px 50px; 
     width:1px; 
     height:0; 
    } 
0

Vous ne pouvez utiliser que deux des frontières, donc il n'y aura pas une bosse :

#my-weird-triangle2{ 
    border-color: blue black black blue; 
    border-style:solid; 
    border-width:100px 100px 0 0; 
    width:0; 
    height:0; 
} 

Et est un exemple ici: http://dabblet.com/gist/1731728