Skip to content

Instantly share code, notes, and snippets.

@isaacrankin
Created July 31, 2014 23:21
Show Gist options
  • Save isaacrankin/04ef2a67aed0292a17a2 to your computer and use it in GitHub Desktop.
Save isaacrankin/04ef2a67aed0292a17a2 to your computer and use it in GitHub Desktop.
A tricky way to have a responsive "read more/accordion" content.
<div class="item">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est, id! Nam maiores, in odio maxime ea omnis. Inventore eos, quibusdam distinctio excepturi maiores ab facilis repellendus numquam reiciendis nemo, labore!</p>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Est, id! Nam maiores, in odio maxime ea omnis. Inventore eos, quibusdam distinctio excepturi maiores ab facilis repellendus numquam reiciendis nemo, labore!</p>
<buttom class="read-more">Read <span class="more">more</span> <span class="less">less</span></buttom>
</div>
<div class="item">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perferendis dicta repudiandae sunt explicabo mn.</p>
<buttom class="read-more">Read <span class="more">more</span> <span class="less">less</span></buttom>
</div>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
$('.item .read-more').click(function(e){
e.preventDefault();
$(e.currentTarget).parent('.item').toggleClass('open');
});
.item{
max-height: 120px;
max-width: 600px;
overflow: hidden;
position: relative;
margin-bottom: 30px;
}
.item p:last-of-type{
margin-bottom: 0;
padding-bottom: 0;
}
.item.open{
max-height: none;
padding-bottom: 1.2em;
}
.item.open .read-more{
top: auto;
bottom: 0;
}
.item.open .read-more .less{
display: inline-block;
}
.item.open .read-more .more{
display: none;
}
.read-more{
position: absolute;
width: 100%;
height: 1.2em;
top: 105px;
background-color: #FFF;
color: red;
}
.read-more:hover{
cursor: pointer;
}
.read-more .less{
display: none;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment