Inverser à coins arrondis en CSS?
J'ai un code css:
-moz-border-radius-topleft:50px;
- Je obtenir le résultat:
Est-il possible de donner comme ceci:
Vous devez vous connecter pour publier un commentaire.
J'ai un code css:
-moz-border-radius-topleft:50px;
- Je obtenir le résultat:
Est-il possible de donner comme ceci:
Vous devez vous connecter pour publier un commentaire.
Juste de mettre à jour le présent, il semble que vous pouvez dans de multiples façons.
Lea Verou posté une solution
Voici la mienne avec border-image
À l'aide de la frontière de l'image
html
css
À l'aide d'un dégradé radial
Lea Verou de la solution
html
css
Dans les navigateurs modernes, vous pouvez utiliser
mask-image
:CSS:
HTML:
http://jsbin.com/eViJexO/1/
En outre, prendre un coup d'oeil à http://www.html5rocks.com/en/tutorials/masking/adobe/, qui explique comment obtenir le même résultat à l'aide de
mask-box-image
.Vous pouvez également utiliser et inline svg avec un élément de chemin:
CSS:
HTML:
Dans cet exemple, j'utilise un courbe de bézier cubique pour l'inversion de la pointe ronde.
Avec cette approche, vous pouvez également remplir la forme avec une image ou dégradé:
CSS:
HTML:
Malheureusement, il n'existe actuellement pas une solution basée sur l'officiel ou mis en œuvre des Spécifications CSS 🙁
Cependant, comme d'autres personnes ont ajouté, il y a des solutions possibles (ou astuces?) vous pouvez faire pour obtenir le même effet en utilisant les librairies JS ou complexe HTML/CSS implémentations. Je suis tombé sur cette question alors que vous cherchez un moyen de rendre encore plus complexe coins de l'OP sans l'aide d'images.
J'ai déposé un bug (Demande de Fonctionnalité) à la webkit site - comme il ne semble pas être l'un déposé déjà.
Bug 62458 - Demande de Fonctionnalité: l'Inverse des coins arrondis
Pour un fond uni de couleur, vous pouvez, à l'aide de pseudo-élément et de la zone d'ombre de tirage couleur d'arrière-plan au lieu de cela, et il ne sera pas masquer les origines de parent conteneur, vous fait voir au travers de.
Ce que vous avez besoin est un navigateur qui comprend :avant:après et box-shadow 🙂 ...
Pour IE8 , vous pouvez dessiner un énorme frontières au lieu des ombres. http://codepen.io/anon/pen/fFgDo
box-shadow approche : http://codepen.io/anon/pen/FwLnd
pseudo-élément peut prendre n'importe quelle forme, et de se transformer, par la css et de l'ensemble n'importe où dans son élément à dessiner des sortes de trous à travers : exemples : http://codepen.io/gc-nomade/pen/nKAka
Cela peut être fait avec un dégradé radial.
CSS:
HTML:
Juste pour le fun, d'autres inversé les coins peuvent être ajoutés par la définition de plusieurs milieux différents - un pour chaque coin de rue:
CSS:
HTML:
Il ya des façons que vous pouvez résoudre ce problème en utilisant les feuilles de style CSS toutefois, cela dépend de la couleur de votre arrière-plan (si solide, il est plus facile) si vous avez un motif d'arrière-plan, il pourrait être un peu plus complexe.
Je couvre d'un exemple de base ici de la façon de faire un Inverse Rayon des Frontières dans le CSS (ici). Il utilise un truc avec la taille de la Frontière pour une utilisation à l'intérieur, vous pourriez avoir à faire quelques positionnement de l'obtenir pour fonctionner correctement cependant comme vous pouvez le voir son possible. Surtout si vous spécifiez un
background-color
pour chaquespan
.Si vous voulez que tous les 4 coins, vous devrez ajouter une catégorie distincte pour chaque
span
à l'intérieur de votre div, et chaque classe permettrait de simuler un coin, en haut à gauche, en haut à droite etc.Pas.
Si vous avez arrière-plan solide vous pouvez probablement utiliser css pour créer la morsure.
Sinon, il n'y a pas quelque chose de spécial, vous pouvez le faire au-delà de l'aide de Png, beaucoup comme vous le feriez pour créer des coins arrondis avant
border-radius
.en fait il y a un moyen, comme ceci:
mais comme @Dominique dit que vous aurez besoin d'un solide arrière-plan, sinon, vous allez obtenir ceci:
Il peut être fait à l'aide après l'élément.
cochez cette jsfiddle lien
enter code here
Non, il ne l'est pas.