Eh bien, c'est de la folie pure, mais certainement il existe des moyens d'y parvenir :-) pas contre-browserly, mais nous allons voir:
Notre marge:
<div id="bubble">
<p>This is madness!</p>
</div>
Notre CSS:
#bubble {
width:200px;
height:100px;
border:1px solid #000;
-webkit-border-radius:20px;
-moz-border-radius:20px;
border-radius:20px;
}
#bubble p {
margin: 1em;
font-family:Comic Sans MS;/* well, madness it is! */
}
#bubble:before {
content:'';
border:20px solid;
border-color:#fff transparent transparent;
position:absolute;
top:110px;
left:25px;
z-index:2;
}
#bubble:after {
content:'';
border:20px solid;
border-color:#000 transparent transparent;
position:absolute;
top:111px;
left:25px;
z-index:1;
}
Le résultat: http://jsfiddle.net/MrLWY/
Je n'ai testé cela dans Firefox 3.6.3, mais l'idée est clair :-)
Voici prendre deux:
#bubble {
width:200px;
height:100px;
border:1px solid #000;
position:relative;
-webkit-border-radius:20px 20px 20px 0;
-moz-border-radius:20px 20px 20px 0;
border-radius:20px 20px 20px 0;
}
#bubble p {
margin: 1em;
font-family:Comic Sans MS;
}
#bubble:before {
content:'';
width:20px;
height:20px;
background:#fff;
border-left:1px solid #000;
position:absolute;
top:100px;
left:-1px;
}
#bubble:after {
content:'';
-webkit-border-radius:20px 0 0 0;
-moz-border-radius:20px 0 0 0;
border-radius:20px 0 0 0;
border:solid #000;
border-width:1px 0 0 1px;
width:20px;
height:19px;
position:absolute;
top:100px;
left:0;
}
Et le résultat: http://jsfiddle.net/ajeN7/
peut-être que cela peut être amélioré de plusieurs façons:
- rendre le navigateur croisé (+ webkit et l'opéra, au moins)
- il pourrait fonctionner dans IEs, sans arrondi, cependant, avec l'aide de quelque chose comme ça http://code.google.com/p/ie7-js/ (pour que le contenu généré fonctionne).
- pour savoir comment cela pourrait fonctionner avec une hauteur flexible.
- pour changer la déclaration de famille de polices :-)
Je peux aussi recommander ce tutoriel, qui montre les bordures inversées telles qu'elles sont utilisées pour les onglets: http://css-tricks.com/better-tabs-with-round-out-borders/ –