"Timeline (responsive) with images"
Bootstrap 3.3.0 Snippet by blackandred

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <ul class="timeline"> <li class="timeline-inverted"> <a id="dLabel" role="button" data-toggle="dropdown" class="btn" data-target="#"> <div class="timeline-badge warning" style="background: url('http://wolnywroclaw.pl/wp-content/uploads/2015/05/icon-555f99cdv1_site_icon-256x256.png'); background-size: cover; background-position: center;"> <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu"> <li><a href="#">Pokaż tylko z tego źródła</a></li> <li><a href="#">Nigdy nie pokazuj z tego źródła</a></li> </ul> </div> </a> <div class="timeline-panel"> <div class="timeline-heading"> <h4 class="timeline-title">Radio Zet: Policjanci przetrzymywali dobę, rozbierali i zastraszali Ukrainkę</h4> <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i> just now</small></p> </div> <div class="timeline-body"> <div class="entry-content clearfix"><figure class="entry-thumbnail"> <img src="http://wolnywroclaw.pl/wp-content/uploads/2016/05/8c99bd6439786179d0665c8b6bef233a-550x381.jpg" alt="" title="Co roku tysiąc skarg na dolnośląską policję" style="float: left; margin: 15px;"></figure><p>21-letnią Ukrainkę przetrzymywano całą dobę w komisariacie policji na Krzykach. Funkcjonariusze rozbierali ją i zastraszali, aż w końcu wypuścili bez postawienia zarzutów.</p><p>Pochodząca z Ukrainy 21-letnia Daria przebywa w Polsce od dwóch miesięcy. W ubiegły czwartek została zatrzymana przez dwóch funkcjonariuszy, oskarżona przez jednego z mieszkańców miasta o kradzież telefonu. Okazało się, że to jej były chłopak, a w telefonie, z którego zatrzymana chciała jedynie zgrać dane, znajdowały się ich wspólne zdjęcia i wielomiesięczna korespondencja.</p><p>Policjantów jednak te tłumaczenia nie przekonały. Dziewczyna została przewieziona na komendę i przetrzymana tam przez całą dobę. Jeden z funkcjonariuszy zastraszał ją, groził deportacją i wyrażał ksenofobiczne opinie o tym, że “nie życzy sobie Ukraińców we Wrocławiu”.</p><p>Darię poddano także rewizji osobistej, polegającej na konieczności rozebrania się do naga. Odmówiono również możliwości skontaktowania się z rodziną. W piątek nad ranem przesłuchano ją w charakterze świadka, po czym zwolniono z aresztu, bez postawienia zarzutów.</p><p>Rzecznik dolnośląskiej policji Paweł Petrykowski potwierdził, że do zatrzymania doszło i że cały jego przebieg był zgodny z policyjnymi procedurami.</p><p>Cały artykuł na stronie <a href="http://wiadomosci.radiozet.pl/Polska/Policja-przetrzymywala-i-zastraszala-Ukrainke-oskarzona-o-kradziez" target="_blank" rel="noopener">Radia Zet</a></p></div> </div> </div> </li> <li class="timeline-inverted"> <div class="timeline-badge danger" style="background: url('http://zsp.net.pl/files/barroness_logo.png'); background-size: cover; background-position: center;"></div> <div class="timeline-panel"> <div class="timeline-heading"> <h4 class="timeline-title">Proces dwóch byłych pracowników POLOmarketu zakończył się korzystną ugodą</h4> <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i> 11 hours ago</small></p> </div> <div class="timeline-body"> <img src="http://zsp.net.pl/files/polo-zadowoleni.jpg" style="float: left; margin: 15px;"> <p>W dniu 28 września w Bydgoszczy odbył się kolejny z procesów wytoczonych przez byłych pracowników POLOmarketu swojemu byłemu pracodawcy. Sprawa dotyczyła m.in. wypłaty wynagrodzenia za przepracowane nadgodziny, odszkodowania za brak możliwości korzystania z przerw, zwrotu kosztów za przewożenie towarów prywatnymi samochodami, oraz odszkodowania za konieczność wykupu przeterminowanych towarów przez pracowników. Postępowanie w sprawie dwóch byłych pracowników zakończyło się bardzo szybko ugodą, z której pracownicy są bardzo zadowoleni. Sądzimy, że dużą rolę odegrało dołączenie do akt protokołów z Prokuratury, które potwierdzały słuszność zarzutów o fałszowaniu podpisów w ewidencji czasu pracy. Jesteśmy zadowoleni z takiego obrotu sprawy, gdyż pokazuje to, że roszczenia pracowników nie były bezpodstawne i że warto było walczyć. To nie koniec spraw pracowników wytoczonych przeciw POLOmarketowi. W przyszłym tygodniu w Grudziądzu odbędą się kolejne rozprawy byłych pracownic z marketu w Unisławiu. Planowane są także kolejne działania medialne i pikiety, aż do pozytywnego rozwiązania wszystkich spraw byłych pracowników.</p> </div> </div> </li> </ul> </div>
.timeline { list-style: none; padding: 20px 0 20px; position: relative; } .timeline:before { top: 0; bottom: 0; position: absolute; content: " "; width: 3px; background-color: #eeeeee; /*left: 50%;*/ margin-left: -1.5px; } .timeline > li { margin-bottom: 20px; position: relative; } .timeline > li:before, .timeline > li:after { content: " "; display: table; } .timeline > li:after { clear: both; } .timeline > li:before, .timeline > li:after { content: " "; display: table; } .timeline > li:after { clear: both; } .timeline > li > .timeline-panel { width: 95%; float: left; border: 1px solid #d4d4d4; border-radius: 2px; padding: 20px; position: relative; -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); box-shadow: 0 1px 6px rgba(0, 0, 0, 0.175); } .timeline > li > .timeline-panel:before { position: absolute; top: 26px; right: -15px; display: inline-block; border-top: 15px solid transparent; border-left: 15px solid #ccc; border-right: 0 solid #ccc; border-bottom: 15px solid transparent; content: " "; } .timeline > li > .timeline-panel:after { position: absolute; top: 27px; right: -14px; display: inline-block; border-top: 14px solid transparent; border-left: 14px solid #fff; border-right: 0 solid #fff; border-bottom: 14px solid transparent; content: " "; } .timeline > li > .timeline-badge { color: #fff; width: 50px; height: 50px; line-height: 50px; font-size: 1.4em; text-align: center; position: absolute; top: 16px; /*left: 50%;*/ margin-left: -25px; background-color: #999999; z-index: 100; border-top-right-radius: 50%; border-top-left-radius: 50%; border-bottom-right-radius: 50%; border-bottom-left-radius: 50%; } .timeline > li.timeline-inverted > .timeline-panel { float: right; } .timeline > li.timeline-inverted > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; } .timeline > li.timeline-inverted > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; } .timeline-badge.primary { background-color: #2e6da4 !important; } .timeline-badge.success { background-color: #3f903f !important; } .timeline-badge.warning { background-color: #f0ad4e !important; } .timeline-badge.danger { background-color: #d9534f !important; } .timeline-badge.info { background-color: #5bc0de !important; } .timeline-title { margin-top: 0; color: inherit; } .timeline-body > p, .timeline-body > ul { margin-bottom: 0; } .timeline-body > p + p { margin-top: 5px; } @media (max-width: 767px) { ul.timeline:before { left: 40px; } ul.timeline > li > .timeline-panel { width: calc(100% - 90px); width: -moz-calc(100% - 90px); width: -webkit-calc(100% - 90px); } ul.timeline > li > .timeline-badge { left: 15px; margin-left: 0; top: 16px; } ul.timeline > li > .timeline-panel { float: right; } ul.timeline > li > .timeline-panel:before { border-left-width: 0; border-right-width: 15px; left: -15px; right: auto; } ul.timeline > li > .timeline-panel:after { border-left-width: 0; border-right-width: 14px; left: -14px; right: auto; } } .dropdown-submenu { position: relative; } .dropdown-submenu>.dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px; border-radius: 0 6px 6px 6px; } .dropdown-submenu:hover>.dropdown-menu { display: block; } .dropdown-submenu>a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #ccc; margin-top: 5px; margin-right: -10px; } .dropdown-submenu:hover>a:after { border-left-color: #fff; } .dropdown-submenu.pull-left { float: none; } .dropdown-submenu.pull-left>.dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }

Related: See More


Questions / Comments: