1. ホーム
  2. javascript

[解決済み] Facebookの "赤色 "通知のための最も簡単なCSS

2023-03-23 16:24:10

質問

Facebookスタイルの通知が必要ですが、クロスブラウザで美しく見えるものを得るのは難しいようです。たとえば、異なるブラウザは異なるパディングを処理するようで、結果として奇妙な外観の通知となります。

通知がきれいに表示されることを確実にするための最良のクロスブラウザの方法は何ですか?javascript を使用することに抵抗はありませんが、純粋な css はもちろん望ましいです。

どのように解決するのですか?

これを実現する最良の方法は 絶対位置決め :

/* 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>