Ich muss die beliebte rote Benachrichtigungsanzeige mit einer Anzahl wie der unten gezeigten anzeigen. Es scheint schwierig zu sein, etwas zu bekommen, das browserübergreifend gut aussieht. Beispielsweise scheinen verschiedene Browser Paddings unterschiedlich zu behandeln, was zu seltsam aussehenden Benachrichtigungen führt.
Was ist der beste browserübergreifende Weg, um sicherzustellen, dass die Benachrichtigungen gut angezeigt werden? Nicht gegen die Verwendung von Javascript, aber reines CSS ist natürlich vorzuziehen

Der beste Weg, dies zu erreichen, ist die Verwendung absolute Positionierung:
/* Create the blue navigation bar */
.navbar {
background-color: #3b5998;
font-size: 22px;
padding: 5px 10px;
}
/* Define what each icon button should look like */
.button {
color: white;
display: inline-block; /* Inline elements with width and height. TL;DR they make the icon buttons stack from left-to-right instead of top-to-bottom */
position: relative; /* All 'absolute'ly positioned elements are relative to this one */
padding: 2px 5px; /* Add some padding so it looks nice */
}
/* Make the badge float in the top right corner of the button */
.button__badge {
background-color: #fa3e3e;
border-radius: 2px;
color: white;
padding: 1px 3px;
font-size: 10px;
position: absolute; /* Position the badge within the relatively positioned button */
top: 0;
right: 0;
}
<!-- Font Awesome is a great free icon font. -->
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet"/>
<div class="navbar">
<div class="button">
<i class="fa fa-globe"></i>
<span class="button__badge">2</span>
</div>
<div class="button">
<i class="fa fa-comments"></i>
<span class="button__badge">4</span>
</div>
</div>
Facebook verwendet CSS3 – wenn der Benutzer keinen Browser hat, der es unterstützt, gibt es andere Regeln, damit es abgebaut wird. Beispielsweise würden IE-Benutzer keine abgerundeten Ecken erhalten.
– Chris Baker
21. April 2011 um 17:55 Uhr
wirklich? das sind tolle infos.
– Miau
21. April 2011 um 18:07 Uhr
Ich suchte nach einer Antwort, fand aber keine umfassende. Alle 3 Antworten, die gegeben wurden, als dies vor 11 Jahren gefragt wurde, liefern im Wesentlichen die gleiche Lösung: absolute Positionierung innerhalb eines relativ positionierten Elternteils. Das ist richtig. Aber keine der vorhandenen Antworten, trotz 11 Jahren CSS- und Browser-Upgrades, bietet eine Lösung, die es ist ansprechbar und sieht dabei noch gut aus, mit elegantem CSS, das in fast allen Situationen funktioniert. Alle Blogbeiträge, die ich gefunden habe, waren nicht viel besser. Also habe ich es herausgefunden und biete eine neue Antwort für ein neues Jahrzehnt. 🚀
– Inigo
gestern