JSFiddle - React, Tailwind, and code Playground
by petroveg
HTML
<div class="aside" data-container="aside">
<dl class="aside-container" data-target="aside">
<dt class="aside-head" data-action="aside">Я не смог в сети найти пример...</dt>
<dd class="aside-body" data-content="aside">
<img src="http://7ly.ru/wp-content/uploads/2012/07/original-okay.jpg">
</dd>
</dl>
</div>
CSS
html{
font:16px sans-serif;
color:#000;
background:#fff;
}
body{
margin:0;
}
.aside{
position:fixed;
top:50%;
left:0;
margin:-150px 0 0;
}
.aside-container{
position:relative;
margin:0;
}
.aside-head{
position:absolute;
top:0;
left:100%;
height:30px;
margin:0 0 0 30px;
padding:0 20px;
line-height:30px;
color:#fff;
background:#369;
white-space:nowrap;
transform-origin:0 0;
-webkit-transform-origin:0 0;
-ms-transform-origin:0 0;
-o-transform-origin:0 0;
transform:rotate(90deg);
-webkit-transform:rotate(90deg);
-ms-transform:rotate(90deg);
-o-transform:rotate(90deg);
cursor:pointer;
}
.aside-body{
overflow:hidden;
width:0;
margin:0;
transition:.4s;
-webkit-transition:.4s;
-moz-transition:.4s;
-ms-transition:.4s;
-o-transition:.4s;
}
.active .aside-body{
width:300px;
}
.aside-body img{
display:block;
width:260px;
margin:0 20px;
}
JavaScript
$(document).on('click', '[data-action~="aside"]', function () {
$(this).closest('[data-target~="aside"]').toggleClass('active');
});