Is there a purely HTML5 alternative to JS's Alert Box? I have never dabbled with JS or other scripts/codes, i'm comfortable with HTML5 and CSS3 only, (i'm really into semantics :) )
No worries if not, more curious than in need.
Thanks! Jess
HTML5 is a platform and brand. It include many javascript API, CSS3 modules and etc.
Try to use :target
CSS3 example of alert, for example. It use top features of CSS3.
Code from pen:
HTML
<div class="wrap">
<h1>Modal - Pure CSS (no Javascript)</h1>
<p>Example of modal in CSS only, here I use the pseudo selector ":target" and no javascript for modal action.</p>
<p>This works in IE9+ and all modern browsers.</p>
<p>View <a href="http://www.felipefialho.com/css-components/">Pure CSS Components</a> project.</p>
<hr />
<a href="#modal-one" class="btn btn-big">Modal!</a>
</div>
<!-- Modal -->
<div class="modal" id="modal-one" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-header">
<h2>Modal in CSS?</h2>
<a href="#" class="btn-close" aria-hidden="true">×</a>
</div>
<div class="modal-body">
<p>One modal example here! :D</p>
</div>
<div class="modal-footer">
<a href="#" class="btn">Nice!</a>
</div>
</div>
</div>
<!-- /Modal -->
CSS
body {
color: #333333;
font-family: 'Helvetica', arial;
}
.wrap {
padding: 40px;
text-align: center;
}
hr {
clear: both;
margin-top: 40px;
margin-bottom: 40px;
border: 0;
border-top: 1px solid #aaaaaa;
}
h1 {
font-size: 30px;
margin-bottom: 40px;
}
p {
margin-bottom: 20px;
}
.btn {
background: #428bca;
border: #357ebd solid 1px;
border-radius: 3px;
color: #fff;
display: inline-block;
font-size: 14px;
padding: 8px 15px;
text-decoration: none;
text-align: center;
min-width: 60px;
position: relative;
transition: color .1s ease;
}
.btn:hover {
background: #357ebd;
}
.btn.btn-big {
font-size: 18px;
padding: 15px 20px;
min-width: 100px;
}
.btn-close {
color: #aaaaaa;
font-size: 30px;
text-decoration: none;
position: absolute;
right: 5px;
top: 0;
}
.btn-close:hover {
color: #919191;
}
.modal:before {
content: "";
display: none;
background: rgba(0, 0, 0, 0.6);
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
}
.modal:target:before {
display: block;
}
.modal:target .modal-dialog {
-webkit-transform: translate(0, 0);
-ms-transform: translate(0, 0);
transform: translate(0, 0);
top: 20%;
}
.modal-dialog {
background: #fefefe;
border: #333333 solid 1px;
border-radius: 5px;
margin-left: -200px;
position: fixed;
left: 50%;
top: -100%;
z-index: 11;
width: 360px;
-webkit-transform: translate(0, -500%);
-ms-transform: translate(0, -500%);
transform: translate(0, -500%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
.modal-body {
padding: 20px;
}
.modal-header,
.modal-footer {
padding: 10px 20px;
}
.modal-header {
border-bottom: #eeeeee solid 1px;
}
.modal-header h2 {
font-size: 20px;
}
.modal-footer {
border-top: #eeeeee solid 1px;
text-align: right;
}
Chrome Canary
37+ has dialog
element. More info in code example. The main profit from it is show
, close
and showModal
methods and ::backdrop
css selector for background.
No, there is no way to display a popup that doesn't use any JavaScript (At least, nothing that's practical). This is because you need some sort of code to manage the popup's message, or even to make the popup appear.
CSS-only examples rely on the user clicking something for the popup to show.
You can have a look at jQueryUI's modal. But that's a combination of html / css / js
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With