Wie schneidet man den Hintergrund eines Elements ab, um nur einen Teil des Bildes anzuzeigen?

8

Zur Verdeutlichung sehen Sie sich die folgenden Bilder an.
Die erste ist, was ich erreichen möchte. Es ist ein Texteingabeelement mit zwei Hintergrundbildern, eines auf jeder Seite.
Das zweite Bild ist das Sprite-Bild mit den benötigten Symbolen.
Jetzt ist meine Frage, ist es möglich, ein Hintergrundbild zu schneiden, um nur einen Teil des Bildes anzuzeigen? Ist es außerdem möglich, es mit mehreren Hintergründen zu verwenden?

1. Bild:

2. Bild:

    
Hamed Momeni 15.08.2012, 07:54
quelle

4 Antworten

3

Sie müssen zwei separate Icon-Bilder verwenden, damit dies so funktioniert, wie Sie es momentan erwarten.

Bei CSS-Sprites wird der Hintergrund durch die Größe des Elements abgeschnitten. Es gibt eine experimentelle CSS3-Eigenschaft namens background-clip , aber es funktioniert nicht so, wie Sie es möchten (es wird an den Rahmen, der Füllung oder dem Inhalt von abgeschnitten) die Box, keine bestimmte Dimension.)

Erstelle also zwei Icons, benutze eins auf jeder Seite des Elements mit background-position .

Wie Sie hier sehen können wird bei einem Spritesheet das gesamte Hintergrundbild anstelle der beiden Symbole angezeigt. Es gibt noch keine Möglichkeit, BG-Bilder wie gewünscht zu schneiden. (eines Tages, hoffentlich!)

    
Kyle 15.08.2012, 08:01
quelle
2

Sie müssen separate Symbole verwenden ODER Sie müssen zwei zusätzliche Elemente (zum Anzeigen der Symbole) über dem Eingabefeld eingeblendet haben. Letzteres lässt Sie das Sprite selbst verwenden.

    
techfoobar 15.08.2012 08:12
quelle
1

Setze dein Element (zB div) auf ein großes Backgound-Bild und stelle es dann mit background-position ein. Ihr Bild wird nach Ihrer Elementgröße (zB div) durchgestrichen.

in Ihrem Fall wird es um sein:

%Vor%

und div size:

%Vor%     
Samich 15.08.2012 07:59
quelle
0

mit CSS3 können Sie mehrere Hintergrundbilder für ein Element verwenden. Um einen bestimmten Teil des Bildes anzuzeigen, müssen Sie die Eigenschaft background-position festlegen.

zum Beispiel:

%Vor%

Sie können auch background-postion in Pixeln definieren wie:

%Vor%

Weitere Informationen finden Sie in diesem Link

    
Amyth 15.08.2012 07:59
quelle