Ist es möglich, dieses Bild nur mit CSS zu reproduzieren?
Ich möchte dies auf mein Menü anwenden, damit der braune Hintergrund auf der hover
Instanz angezeigt wird
Ich weiß nicht, wie ich das machen soll, ich habe nur;
.menu li a:hover{
display:block;
background:#1a0000;
padding:6px 4px;
}
css
css-shapes
Preston
quelle
quelle
skew
Namen. :)display:inline-block;
funktioniert nicht IE8 oder weniger ... also habe ich einen*float:left;
Hack gemacht, um dies "inline" auf IE zu machen. Aber wenn ich mit der Maus über das Menü fahre (auf IE8), kann ich keinen normalen Hintergrund einrichten (ohne den Versatz). Irgendwelche Tipps?<span>
und machen Sie dasselbe.Hier ist eine Geige für die Verwendung in verschiedenen Browsern - ich habe sie in ein paar Minuten erstellt.
Versuchen Sie, mit den Argumenten zu spielen, die ich verwendet habe,
:before
und:after
tun Sie dies.https://jsfiddle.net/DTBAE/
quelle
:before
und:after
Sie können die
transform: skew(X, Y)
Eigenschaft verwenden, um dies zu erreichen. Erstellen Sie einen verzerrten äußeren Container, und verzerren Sie dann den entgegengesetzten Betrag auf einem inneren Container, um den Text wieder gerade zu machen. Siehe diese Geige zum Beispiel;http://jsfiddle.net/UZ6HL/4/
Nach dem, was Sie gesagt haben, glaube ich, dass dies das ist, was Sie wollen. Wenn nicht, klären Sie bitte, wann der Artikel den Hintergrund anzeigen soll.
quelle
.skew { background: green; color: #fff; padding: 50px; transform: skewX(-7deg); font-size: 20px; font-weight: 700; } .skew p { transform: skewX(7deg); }
<div class="skew"> <p>This is caption</p> </div>
Hier ist ein Beispiel
quelle
Um IE-Unterstützung zu erhalten, fügen Sie einfach
-ms-transform: skew(20deg, 0deg);
neben allen anderentransform: skew(20deg, 0deg);
s hinzu.quelle