Individually Styled Bootstrap 3 Popovers

Individually style your Bootstrap 3 popovers using only CSS. Explanation at http://benkaminski.com

by André Albson

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<div class="text-center example-class1" data-container="body" data-template='<div class="popover1" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' data-toggle="popover" data-placement="left" data-content="this is a test">Test 1</div>

<div class="text-center example-class2" data-container="body" data-template='<div class="popover2" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' data-toggle="popover" data-placement="left" data-content="this is also a test">Test 2</div>

<div class="text-center example-class3" data-container="body" data-template='<div class="popover3" role="tooltip"><div class="arrow"></div><div class="popover-content"></div></div>' data-toggle="popover" data-placement="left" data-content="this may or may not be a test">Test 3</div>

CSS

.example-class1 {
background-color: #2a4254;
height: 77px;
width: 77px;
color: white;
cursor: pointer;
float: right;
}
.example-class2 {
background-color: #e87d34;
height: 77px;
width: 77px;
color: white;
cursor: pointer;
float: right;
margin-top: 80px;
}
.example-class3 {
background-color: #bfd8ea;
height: 77px;
width: 77px;
color: white;
cursor: pointer;
float: right;
margin-top: 160px;
}

/* CUSTOM POPOVERS */
.popover1 {
position: fixed !important;
top: 0;
left: 0;
z-index: 1060;
display: none;
width: 250px !important;
padding: 1px;
text-align: left;
white-space: normal;
background-color: #2a4254 !important;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, .2);
border-radius: 0px !important;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
color: white;
}
.popover1.left {
margin-left: -10px;
}
.popover1 > .arrow,
.popover1 > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover1 > .arrow {
border-width: 11px;
}
.popover1 > .arrow:after {
content: "";
border-width: 10px;
}
.popover1.left > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999;
border-left-color: rgba(0, 0, 0, .25);
}
.popover1.left > .arrow:after {
right: 1px;
bottom: -10px;
content: " ";
border-right-width: 0;
border-left-color: #2a4254;
}
.popover2 {
position: fixed !important;
top: 0;
left: 0;
z-index: 1060;
display: none;
width: 250px !important;
padding: 1px;
text-align: left;
white-space: normal;
background-color: #e87d34 !important;
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, .2);
border-radius: 0px !important;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
}
.popover2.left {
margin-left: -10px;
}
.popover2 > .arrow,
.popover2 >...

JavaScript

$('[data-toggle="popover"]').popover();