Sometimes we need to put a customer help form on the sidebar of the website. Start by putting a button there, and then slide out the content after clicking. Generally, we will use js to control this effect. Now css3 can do it too.
How is this done? That will use the :target tag in CSS3.
Let's take a look at the implementation of this animation.
1. Fix the box at a certain location.
2. Hide the form inside and only expose a click button.
3. When the button is clicked, the form is drawn and the button text is changed.
4. Click the button again and the form is indented.
HTML CODE:
<h1><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Slide-in slide-out</font></font></h1>
<h2><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Click it, then click Hide</font></font></h2>
<div id="volet_clos">
<div id="volet">
<p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Lorem Alsace ipsum chime amet sed bissame so libero. </font><font style="vertical-align: inherit;">DNA, John Richard</font></font></p>
<p><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Sorrow elementum semper tellus s'guelt Pfourtz</font></font></p>
<a href="#volet" class="ouvrir" aria-hidden="true"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Slide out</font></font></a>
<a href="#volet_clos" class="fermer" aria-hidden="true"><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">Slide in</font></font></a>
</div>
</div>
CSS CODE:
<style type="text/css">
<!--
body {
margin: 0;
padding: 10px 40px;
background: #F1EFE2;
font-size: 1.4em;
font-family: georgia, "trebuchet ms", arial, serif;
height: 3000px; /* test fixed + scroll */
}
h1 {
margin-top: 20px;
margin-bottom: 40px;
color: #345;
text-shadow: 1px 1px 1px #fff;
}
h2 {
color: #678;
text-shadow: 1px 1px 1px #fff;
font-size: 1.1em;
}
#volet {
width: 250px;
padding: 10px;
background: #6B9A49;
color: #fff;
}
#volet a.ouvrir,
#volet a.fermer {
padding: 10px 25px;
background: #555;
color: #fff;
text-decoration: none;
}
#volet {
position: absolute;
left: -270px; /* test fixed + scroll, position top */
-webkit-transition: all .5s ease-in;
-moz-transition: all .5s ease-in;
transition: all .5s ease-in;
}
#volet a.ouvrir,
#volet a.fermer {
position: absolute;
right: -88px;
top: 150px;
-webkit-transform: rotate(270deg);
-moz-transform: rotate(270deg);
-o-transform: rotate(270deg);
-ms-transform: rotate(270deg);
-moz-radius: 0 0 8px 8px;
border-radius: 0 0 8px 8px;
}
#volet a.fermer {
display: none;
}
#volet:target {
left: 10px;
}
#volet:target a.fermer {
display: block;
}
#volet:target a.ouvrir {
display: none;
}
#volet_clos:target #volet {
left: -270px;
}
/* test fixed + scroll */
#volet_clos {
position: fixed;
top: 55px;
left: 0;
}
-->
</style>
Post your comments / questions
Recent Article
- How to get domain name information from a Domain using Python
- ModulenotFoundError: no module named 'debug_toolbar' -SOLUTION
- How to create superuser in django project hosted in cPanel without terminal
- CSS & images not loading in django admin | cpanel without terminal
- Could not build wheels for mysqlclient, which is required to install pyproject.toml-based projects
- How to sell domain name on Godaddy (2023)
- TemplateSyntaxError at / Could not parse the remainder: ' + 1' from 'forloop.counter0 + 1'
- urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0
Related Article