Wenn Sie so etwas meinen:
Bearbeiten: Hier ist ein Weg, der nur ein HTML-Element erfordert und daher nicht seltsam ist, wenn er von Clients ohne CSS-Stil wie Suchmaschinen, Bildschirmleseprogrammen, RSS, Apps ohne Stil usw. gelesen wird (danke an Dominic für den Vorschlag, es zu versuchen :before
und :after
).
Der wichtige Code ( fügen Sie Ihre Farben hinzu ):
HTML: <div class="someclass" data-text="Some text">Some text</div>
CSS:
.someclass { /* bottom half */
position: relative;
display: inline-block;
}
.someclass:after { /* top half */
content: attr(data-text);
display: block;
position: absolute;
top: 0px;
height: 50%;
overflow: hidden;
}
Das HTML-Attribut kann alles sein - ich habe es verwendet, data-text
weil es beschreibend ist und unerwünschte Nebenwirkungen vermeidet (z. B. könnten Sie es verwenden, title
aber es würde in einigen Browsern Mouseover erzeugen).
Wenn Sie display:block;
das main ( .top
) -Element verwenden möchten , fügen Sie width: 100%;
dem inner ( .bottom
) -Element etwas Ähnliches hinzu , damit es es ausfüllt.
Wenn Sie jQuery verwenden, können Sie diesen Stil ganz einfach auf jedes Element anwenden, ohne das data-text
duplizierte Bit manuell eingeben zu müssen :
$('.someElement').each(function(){
$(this).addClass('someclass').attr('data-text',$(this).text());
});