2016-10-03 3 views
0

Die meiste Zeit verwende ich IcoMoon App, um einige Symbole zu erhalten oder meine eigenen zu machen, sie zu benutzen. Ich stieß auf eine Situation, in der ich neben einem Absatz <p> ein Symbol platzieren wollte, und normalerweise erzeugt IcoMoon die Symbole und ordnet sie einem Klassennamen mit der Pseudoklasse :before zu. Ich bekomme nur die Klasse und trage sie auf meinen Absatz ein.Weisen Sie einer Icon-Schrift eine andere Schriftfamilie zu, möglich?

Ich habe ein Problem gefunden, dass ich vor dem Anwenden der Symbolschriftart bereits einen font-family:my-font; dem <p> Tag zugewiesen habe. Wenn ich das Symbol anwendete, wurde das font-family:ico-moon;, das zusammen mit dem Symbol generiert wurde, auf das Tag angewendet, und es wurde ruiniert. Ist es möglich, meine Schriftart und das Symbol für den Tag <p> beizubehalten?

p{ 
 
    font-family:my-font; 
 
} 
 
.icon-moon-dummy:before{ 
 
font-family: 'icomoon' !important; 
 
content:"\e900"; 
 
}
<p>this is normally displayed with "my-font" family </p> 
 

 
<p class="icon-moon-dummy"> 
 
    now "my-font" family is not applied instead "icon-moon" font is applied duesto the cascading and the "!important" statement. 
 
    is it possible now to have my font applied for the p tag and the icon-moon font applied only for the icon so that it works? 
 
</p>

+1

Und Sie haben 'P' mit eigener Schrift und' p.class :: before' mit 'ico-moon' Schrift? Kannst du bitte ein funktionierendes Beispiel oder zumindest signifikante HTML-/CSS-Snippets bereitstellen? – Sojtin

+0

Es muss einen anderen Stil geben, der die Schriftart überschreibt. Ihr Snippet ist korrekt. Live Beispiel - https://jsfiddle.net/5o7of5jm/ – Sojtin

+0

@Sojtin mein Snippet kann nicht funktionieren, weil ich nie echte Schriftarten verwendet, es ist nur der Demonstration wegen. – AndrewMk

Antwort

0

Es gibt keine mögliche Schrift beeinflussen von ::before::after (Kinder) zu übergeordnete Element, so meiner Meinung nach gibt es einige andere Elternteil sein muß, die Ihre Schriftart überschreiben.

Beweis:

p { 
 
    font-family: "Comic Sans MS"; 
 
} 
 

 
.test::before { 
 
    content: "foo "; 
 
    font-family: Arial; 
 
}
<p class="test"> 
 
    bar 
 
</p>

Verwandte Themen