How to achieve this layout properly? - css

I want to have list items with a layout like below, with a circle that has an image, at right of the circle a title, the date of the post and then the category of the post. And at right of the list item should appear the button.
I have this code to achieve this layout using flexbox: http://jsfiddle.net/muLh5v4n/2/. But its not working properly, the title, post date and category are not at the right of the image, are below the image.
HTML:
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="bg-custom-gray-dark">
<div class="container py-5">
<div class="row">
<div class="col">
<ul class="list-group list">
<li class="list-group-item bg-custom-light2 py-4">
<div class="row align-items-center">
<form class="col-5">
<div class="form-group">
<div class="input-group list_search">
<div class="input-group-prepend">
<span class="input-group-text search-icon"><i class="fa fa-search"></i></span>
</div>
<input type="text" class="form-control shadow-none search-input p-0" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Search...">
</div>
</div>
</form>
<div class="col-7 text-right">
<div class="dropdown filters mr-3">
<a class="dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Filter 2 <i class="fa fa-angle-down"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
</div>
</div>
<div class="dropdown filters">
<a class="dropdown-toggle" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Filter2 <i class="fa fa-angle-down"></i>
</a>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a>
</div>
</div>
</div>
</div>
</li>
<li class="list-group-item d-flex align-items-center">
<div class="post-info">
<img src="http://placehold.jp/3d4070/ffffff/75x75.png?css=%7B%22border-radius%22%3A%2215px%22%7D">
<h3>Title of the post</h3>
<span>post date</span>
<span>Categorqy of the post</span>
</div>
<div class="post-button ml-auto">
<button>Read</button>
</div>
</li>
<li class="list-group-item">item2</li>
<li class="list-group-item">item3</li>
<li class="list-group-item">...</li>
</ul>
</div>
</div>
</div>
</div>

This is another aproach.
ul {
list-style-type: none;
width: 500px;
border: 1px solid gray;
margin: 0;
padding: 0;
}
.picture_round{
border-radius: 50%;
width: 50px;
height: 50px;
margin-right: 10px;
margin-left: 20px;
object-fit: cover;
object-position: center;
display: block;
}
.dsp_flex {
display: flex;
justify-content: center;
align-items: center;
}
.middle_section{
flex: 1;
text-align: left;
}
ul li button{
margin-right: 20px;
}
ul li{
padding: 10px 0px;
border-bottom: 1px solid blue;
}
.title {
text-transform: uppercase;
font-weight: bolder;
}
.category{
border: 1px solid gray;
border-radius: 10px;
display: inline-block;
padding: 5px 2px;
}
<ul>
<li>
<div class="dsp_flex">
<img src="https://ph-test-11.slatic.net/p/4/yd-m6-kids-electric-ride-on-toy-car-4-wheels-red-6663-9385349-68cc46bb43f6fc801db86e9994dd6dba-catalog.jpg_340x340q80.jpg_.webp" class="picture_round">
<div class="middle_section">
<div class="title">title</div>
<div class="description">lorem ipsum ipsum</div>
<div class="category"> category </div>
</div>
<button>Button</button>
</div>
</li>
<li>
<div class="dsp_flex">
<img src="https://ph-test-11.slatic.net/p/4/yd-m6-kids-electric-ride-on-toy-car-4-wheels-red-6663-9385349-68cc46bb43f6fc801db86e9994dd6dba-catalog.jpg_340x340q80.jpg_.webp" class="picture_round">
<div class="middle_section">
<div class="title">title</div>
<div class="description">lorem ipsum ipsum</div>
<div class="category"> category </div>
</div>
<button>Button</button>
</div>
</li>
<li>
<div class="dsp_flex">
<img src="https://ph-test-11.slatic.net/p/4/yd-m6-kids-electric-ride-on-toy-car-4-wheels-red-6663-9385349-68cc46bb43f6fc801db86e9994dd6dba-catalog.jpg_340x340q80.jpg_.webp" class="picture_round">
<div class="middle_section">
<div class="title">titletitle title</div>
<div class="description">lorem ipsum ipsum lorem ipsum ipsum</div>
<div class="category"> categorycategory </div>
</div>
<button>Button</button>
</div>
</li>
</ul>

You can try using this; you can further style the elements; but basically this component should display as you intend. Also this is using only Bootstrap Classes, custom css is only for the example.
.list-item {
max-width: 450px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<div class="list-item border d-flex align-items-center">
<div><img src="https://via.placeholder.com/100" class="rounded-circle" alt=""></div>
<div class="ml-2">
<h3>Title</h3>
<p>some-text</p>
<span>Span</span>
</div>
<div class="ml-auto mr-2"><button>Button</button></div>
</div>

Bootstrap 4 has a class called .flex-row that we can use.
Lets do this using only Bootstrap classes and flex.
1. Add flex-row class to the list-group-item.
2. Add d-flex to post-info.
3. Place the text into a d-flex flex-column div.
<li class="list-group-item d-flex flex-row align-items-center">
<div class="post-info d-flex">
<img src="http://placehold.jp/3d4070/ffffff/75x75.png?css=%7B%22border-radius%22%3A%2215px%22%7D">
<div class="d-flex flex-column">
<h3>Title of the post</h3>
<span>post date</span>
<span>Categorqy of the post</span>
</div>
</div>
<div class="post-button ml-auto">
<button>Read</button>
</div>
JSFiddle: http://jsfiddle.net/muLh5v4n/13/
You can later on use Bootstraps built in padding classes to make it space out nicely.

Related

How to get 100% height and width of tab panel using bootstrap 4.3

I am using bootstrap 4.3. bootstrap 4.3 has sizing classes m-* and w-* to set the height and width of the element. I was able to get container's height and width to 100% and now I am trying to set 100% height and width of the tab-panel.
JSFiddle
<div class="container-fluid w-highlight-container h-100 d-flex flex-column">
<main role="main" class="pb-3">
<ul class="nav nav-tabs mt-3">
<li class="nav-item">
<a class="nav-link active" href="#w-tab1" data-toggle="tab" role="tab">Tab1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#w-tab2" data-toggle="tab" role="tab">Tab2</a>
</li>
</ul>
<div class="tab-content">
<div id="w-tab1" class="tab-pane fade active show" role="tabpanel">
<div class="row">
<div class="col-md-12">
<div class="w-tab1 h-100 w-100">
requires 100% height and 100% width of view port
</div>
</div>
</div>
</div>
<div id="w-tab2" class="tab-pane fade" role="tabpanel">
<div class="row">
<div class="col-md-12">
<div class="w-tab2 h-100 w-100">
requires 100% height and 100% width of view port
</div>
</div>
</div>
</div>
</div>
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
© 2019 - UI - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</div>
</footer>
w-100 and h-100 are doing there job as intended, it is just that its parent container is not stretched 100% from side to side... so we start at tab-content and then ensure that 100% width and height is respected... right down to our relevant div which already has a w-100 and h-100 classes.
working code snippet below:
.w-tab1 {
border: solid 2px black;
background-color: green;
}
.w-tab2 {
border: solid 2px black;
background-color: red;
}
.w-highlight-container {
border: solid 2px black;
background-color: #ffd;
}
html,
body {
height: 100%;
}
.tab-content {
height: calc(100vh - (75px)) !important;
width: calc(100vw - (40px)) !important
}
.tab-content>.active {
display: inline-flex;
height: 100%;
width: 100%
}
.tab-content>.active>.row {
display: contents
}
.tab-content>.active>.row>div {
padding-left: 0;
width: 100%;
display: contents;
}
.tab-content>.active>.row>div>.w-100 {
width: 99% !important
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<div class="container-fluid w-highlight-container h-100 d-flex flex-column">
<main role="main" class="pb-3">
<ul class="nav nav-tabs mt-3">
<li class="nav-item">
<a class="nav-link active" href="#w-tab1" data-toggle="tab" role="tab">Tab1</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#w-tab2" data-toggle="tab" role="tab">Tab2</a>
</li>
</ul>
<div class="tab-content">
<div id="w-tab1" class="tab-pane fade active show" role="tabpanel">
<div class="row">
<div class="col-md-12">
<div class="w-tab1 h-100 w-100">
requires 100% height and 100% width
</div>
</div>
</div>
</div>
<div id="w-tab2" class="tab-pane fade" role="tabpanel">
<div class="row">
<div class="col-md-12">
<div class="w-tab2 h-100 w-100">
requires 100% height and 100% width
</div>
</div>
</div>
</div>
</div>
</main>
</div>
<footer class="border-top footer text-muted">
<div class="container">
© 2019 - UI - <a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>
</div>
</footer>

How to make navbar-item dropdown always visible and active only with hover in bulma

In bulma navbar I have a logo on the left and one dropdown menu on the right. I want to make the menu always visible and only open on hover. Right now when the screen size in smaller than 1088px, the dropdown menu opens automatically on the right.
<nav class="navbar">
<div class="container">
<div class="navbar-brand is-expanded">
<a class="navbar-item" href="#">
<img src="img.png" width="131" height="35">
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
Docs
</a>
<div class="navbar-dropdown">
<a class="navbar-item">
Overview
</a>
<a class="navbar-item">
Elements
</a>
<a class="navbar-item">
Components
</a>
<hr class="navbar-divider">
<div class="navbar-item">
Version 0.7.1
</div>
</div>
</div>
</div>
</div>
</nav>
maybe this will help you
.navbar-dropdown {
background-color: white;
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
border-top: 2px solid #dbdbdb;
box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
display: none;
font-size: 0.875rem;
left: 0;
min-width: 100%;
position: absolute;
top: 100%;
z-index: 20;
}
.navbar-item:hover .navbar-dropdown{
display: block;
}
#media screen and (max-width: 1088px){
.navbar-dropdown{
display: none;
}
}
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.1/css/bulma.css" media="all" />
<nav class="navbar">
<div class="container">
<div class="navbar-brand is-expanded">
<a class="navbar-item" href="#">
<img src="img.png" width="131" height="35">
</a>
<div class="navbar-item has-dropdown is-hoverable">
<a class="navbar-link">
Docs
</a>
<div class="navbar-dropdown">
<a class="navbar-item">
Overview
</a>
<a class="navbar-item">
Elements
</a>
<a class="navbar-item">
Components
</a>
<hr class="navbar-divider">
<div class="navbar-item">
Version 0.7.1
</div>
</div>
</div>
</div>
</div>
</nav>

have the same margin top and right between list items

I have some list items inside a modal and I want that each list item have the same space or magin between. So Im using margin-bottom: 1rem and margin-right: 1rem, but its not working. For example in larger devices I want to have 3 columns but it appears only two columns with a very large margin in between. Also in medium devices I want 2 columns but with the same margin right and bottom between list items but its not working, the columns have a very large margin in between.
Html:
<a data-toggle="modal" data-target=".bd-example-modal-lg" href="">Open <i class="fa fa-caret-down" aria-hidden="true"></i></a>
<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Modal Title</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="container">
<div class="row">
<ul class="categories-list">
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/tags.svg"/>
<a class="">All Options</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/video.svg"/>
<a class="">Option1</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/clubbing.svg"/>
<a class="">Option2</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/concert.svg"/>
<a class="">Option3</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/conference.svg"/>
<a class="">Option4</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/exposition.svg"/>
<a class="">Option5</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/certificate.svg"/>
<a class="">Option6</a>
</li>
<li class="col-lg-4 col-md-6 col-sm-12">
<img src="{{ URL::to('/') }}/img/categories/literature.svg"/>
<a class="">Option7</a>
</li>
</ul>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
CSS
.categories-list{
display: flex;
flex-wrap:wrap;
align-items: center;
justify-content: space-between;
padding-top: 1rem;
}
.categories-list li{
display: flex;
align-items: center;
margin-bottom: 1rem;
padding: 1rem;
background-color: yellow;
border-radius: 5px;
margin-right: 1rem;
}
.categories-list img{
width: 20px;
height: 20px;
}
Your categories-list class, which has the margins you want, is being applied to the <ul> element instead of each <li> element. This is only going to have an effect on the entire list.

Bootstrap grid of images for small resolution

I have a simple home page: https://jsfiddle.net/1Lotp6ce/1/
There are 6 images in 2 rows (3 x 2). It works fine for larger screens, but once it gets sm images start overlapping. How may I fix it so for sm it is 2 images x 3 rows without overlapping.
Update: I'd need it not only not overlap but also to have spaces between rows.
You can do it by using only one .row element as a parent and all other as its child. But keep in mind that the size of all the images should be pixel perfect to each other (i.e. all the image sizes should be 200x200).
And use .img-responsive class on all the <img> tags.
And use column classes as <div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">...</div>
Something like:
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<img class="img-responsive" src="img-url">
</div>
</div>
Working Code Snippet (use full screen):
/*HEADER*/
#import url('http://getbootstrap.com/dist/css/bootstrap.css');
#logo {
margin-top: 12px;
}
/*BODY*/
body {
background-color: #262626;
padding-top: 70px;
}
#media (min-width: 1200px) {
.container {
max-width: 1080px;
}
}
.row > div > a > img {
width: 100%;
display: block;
margin: 10px 0;
}
.top-buffer {
margin-top: 25px;
}
.mail {
/*color: */
}
.mail:hover {}
/*FOOTER*/
.footer-bottom {
min-height: 30px;
width: 100%;
}
.copyright {
color: #777;
line-height: 30px;
min-height: 30px;
padding: 10px 0;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top container-fluid">
<div class="container">
<a href="http://feanor.cz/">
<img class="navbar-left" id="logo" src="http://feanor.cz/public/img/web/logo_studio.gif" width="200" alt="Feanor Studio">
</a>
<ul class="nav navbar-nav navbar-right">
<li>
Home
</li>
<li>
Contact
</li>
</ul>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/painting/oil/8t.jpg">
</a>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/photo/portrait/32t.jpg">
</a>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/photo/wedding/26t.jpg">
</a>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/photo/car/5t.jpg">
</a>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/photo/product/10t.jpg">
</a>
</div>
<div class="col-xs-12 col-sm-6 col-md-4 col-lg-4">
<a href="#">
<img class="img-responsive" src="http://feanor.cz/public/img/photo/interior/4t.jpg">
</a>
</div>
</div>
</div>
<div class="footer-bottom navbar-inverse navbar-fixed-bottom container-fluid">
<div class="container">
<div class="copyright navbar-left">
© 2016, Feanor, All rights reserved
</div>
<ul class="nav navbar-nav navbar-right navbar-right">
<li>
<a target="_blank" href="#">
<i class="fa fa-instagram fa-2x faicon"></i></a>
</li>
<li>
<a target="_blank" href="#">
<i class="fa fa-envelope fa-2x faicon"></i></a>
</li>
<li>
<p>lybvit#gmail.com</p>
</li>
</ul>
</div>
</div>
</body>

How to make view responsive to mobile devices with bootstrap 3

I'm new to bootstrap, so hoping someone can give me a little color around what I'm missing. Basically, I've developed several views and when I narrow the browser window down past 768 X 1024 my elements automatically expand to 100% of the view and the images get all distorted.
Here is what it looks like at 768 X 1024:
And here when I shrink the browser further:
So, you can see that the nav menu and each tile is stretching to full 100% at this point. What I would like is for the tiles and the menu to remain the same width when they stack. Here is the HTML for the navigation panel and the tiles:
CSS:
.typehead{
text-align:center;
/*height: 100px; */
background: #3f3f3f;
margin: -5px 0px -5px -5px !important;
border-radius: 5px;
font-weight: bold;
}
.myborderwrap{
border: 1px solid #000000;
border-radius: 10px;
}
.tiles{
padding-left: 50px !important;
margin-bottom: 25px;
}
.crystalcontainer{
padding: 15px 15px 5px 15px;
border-radius: 10px;
box-shadow: -15px 15px 5px #888888;
}
.crystalname{
font-size: 12pt;
font-weight: bold;
text-align: center;
padding-bottom: 10px;
border-bottom: 1px solid #000000;
word-wrap: break-word;
}
.ratingrow{
text-align: center;
color: #007d7d;
font-weight: bold;
font-style: italic;
}
.add{
border-radius: 10px;
text-align: center;
padding: 3px 10px 3px 10px;
margin-top: 3px;
cursor:pointer;
background: #000000;
font-size: 12pt;
}
.cdescwindow{
position: relative;
overflow: hidden;
padding: 0px !important;
margin-bottom: 0px !important;
}
.cdesccaption{
position:absolute;
top:0;
right:0;
background:rgba(66, 139, 202, 0.75);
width:100%;
height:100%;
display: none;
text-align:center;
color:#fff !important;
z-index:2;
}
.crystaldescription{
padding-top: 5px;
font-size: 12pt;
font-weight: bold;
}
HTML:
<body>
<div class="wrap">
<nav id="w029141" class="navbar-inverse navbar-fixed-top mymenuhead navbar" role="navigation">
<div class="container">
<div class="navbar-header">
<button class="navbar-toggle" data-target="#w029141-collapse" data-toggle="collapse" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/devfront/index.php">
<div class="row">
<img width="155px" height="55px" alt="" src="img/CMLogoSnowflake.gif">
<span style="font-style: italic; color: #f9f31c; font-size: 10pt;"> beta</span>
</div>
</a>
</div>
<div id="w029141-collapse" class="collapse navbar-collapse">
<ul id="w13562" class="navbar-nav nav" style="margin-left: 100px;">
<li>
DEV
</li>
<li class="active">
Subscribe
</li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
Publish
<b class="caret"></b>
</a>
<ul id="w226843" class="dropdown-menu">
<li>
<a tabindex="-1" href="/devfront/index.php?r=publish%2Fdashboard">My Published Crystals</a>
</li>
<li>
<a tabindex="-1" href="/devfront/index.php?r=publish%2Fselect-new">Publish New Crystal</a>
</li>
<li>
<a tabindex="-1" href="/devfront/index.php?r=publish%2Fprofile">Manage Profiles</a>
</li>
</ul>
</li>
</ul>
<ul id="w33960" class="navbar-nav nav">
<li>
My Crystals
</li>
</ul>
<div class="navbar-nav" style="padding-top:8px">
<div id="crystalcounter" class="badge" style="background:#ffff00; color:#000000; font-weight:bold;">2</div>
</div>
<ul id="w422097" class="navbar-nav navbar-right nav">
<li>
Home
</li>
<li>
About
</li>
<li>
My Profile
</li>
<li>
<a data-method="post" href="/devfront/index.php?r=site%2Flogout">Logout (scottjms)</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="mybackground">
<div class="container">
<div class="site-index">
<span id="soundspan"></span>
<input id="searchtype" type="hidden" value="0" name="type">
<input id="brandtype" type="hidden" value="0" name="btype">
<div class="text-left"> </div>
</div>
<div class="body-content">
<div class="row searcharea">
<div class="col-sm-3"></div>
<div class="col-sm-5" style="padding-right:0px">
<input id="crystalsearchbar" class="searchbar" type="text" placeholder="Find a crystal..." name="crystalsearch">
</div>
<div class="col-sm-1" style="padding-left:0px">
<div style="align: left; height: 42px; background-color: #3333cc; padding-left: 12px; width:50px; border-top-right-radius: 5px; border-bottom-right-radius: 5px;">
<i class="fa fa-search fa-2x" style="padding-top:5px; color:white;"></i>
</div>
</div>
<div class="col-sm-3" style="padding-left:20px">
<a class="publishrouter" href="?r=publish/select-new">
I want to publish my own!
<i class="fa fa-external-link"></i>
</a>
</div>
</div>
<div class="row">
<div class="col-sm-3" style="margin:35px 0px">
<div class="panel panel-danger">
<div class="panel-heading" style="padding: 5px 0px 5px 5px;">
<h3 class="panel-title">
<div class="row typehead">
<div class="col-sm-12">
<h4 style="color: #80ffff">Explore Crystals</h4>
</div>
</div>
</h3>
</div>
<div class="table">
<ul class="nav nav-pills nav-stacked kv-sidenav">
<li id="allheader" class="allheader">All Crystals</li>
<li id="header16" class="header">
<a class="kv-toggle" href="{url}">
<span class="opened" style="display:none">
<i class="indicator glyphicon glyphicon-chevron-down"></i>
</span>
<span class="closed">
<i class="indicator glyphicon glyphicon-chevron-right"></i>
</span>
Self Publishing
</a>
<ul class="nav nav-pills nav-stacked">
<li id="subtype1" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» Blog Updates</li>
<li id="subtype29" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» Social Media Posts</li>
<li id="subtype30" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» My Events</li>
<li id="subtype31" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» Build Your Own</li>
</ul>
</li>
<li id="header18" class="header">
<a class="kv-toggle" href="{url}">
<span class="opened" style="display:none">
<i class="indicator glyphicon glyphicon-chevron-down"></i>
</span>
<span class="closed">
<i class="indicator glyphicon glyphicon-chevron-right"></i>
</span>
Local Interest
</a>
<ul class="nav nav-pills nav-stacked">
<li id="subtype32" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» Tonight's Dinner Specials</li>
<li id="subtype33" class="subtype text-primary" style="padding:10px 0px 10px 25px; cursor:pointer;">» Live Music Here</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div class="col-sm-9">
<div class="row" style="padding-top:35px"></div>
<div id="crystal-container" class="findcrystals">
<div id="crystalcontainer88" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">Blog Updates</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption" style="display: none;">
<div class="crystaldescription">Get updated when your ....</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal88" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer132" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">My Social Media Po..</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption" style="display: none;">
<div class="crystaldescription">Any social..</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal132" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer133" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">My Events</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption" style="display: none;">
<div class="crystaldescription">All of the upcoming...</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal133" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer134" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">Build Your Own</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption">
<div class="crystaldescription">Any event..</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal134" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer135" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">Local Dinner Speci..</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption" style="display: none;">
<div class="crystaldescription">Tonights dinner..</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal135" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer138" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #80ffff;">
<div class="row">
<div class="crystalname">Local Live Music E..</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption" style="display: none;">
<div class="crystaldescription">Live music events ..</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/RBsalnmeicnterfalsit84783dar93UQ.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal138" class="add open" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
<div id="crystalcontainer145" class="col-sm-3 tiles">
<div class="myborderwrap">
<div class="crystalcontainer" style="border:4px solid #ffff00;">
<div class="row">
<div class="crystalname">Black Dog Dinner S..</div>
</div>
<div class="row">
<div class="thumbnail cdescwindow">
<div class="caption cdesccaption">
<div class="crystaldescription">Our daily ..</div>
</div>
<div class="brandlogo">
<img class="catelogueimage" alt="" src="img/crystallogos/2lAPaXs-EYT3iNNQFh0a3hxIl.png">
</div>
</div>
</div>
<div class="row icons">
<div class="row ratingrow">Not Rated </div>
<div id="crystal145" class="add branded" title="Subscribe"> Subscribe </div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
You are only using COL-SM which only effects small screens. You need to add the class "col-XS" to tell bootstrap what to do on extra small screens. By default it is "col-xs-12" which stacks.
Here is the fiddle I made for you. You can see on an extra-small screen size the "tiles" are going to show 2 to a row. because i gave them this class: Col-xs-6
https://jsfiddle.net/93bg9v2z/2/
edit: based on your request here is the new fiddle
https://jsfiddle.net/93bg9v2z/3/

Resources