Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a HTML5 alternative to JS's Alert Box?

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

like image 927
user3275593 Avatar asked Dec 25 '22 14:12

user3275593


2 Answers

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;
}

EDIT:

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.

like image 118
Pinal Avatar answered Jan 06 '23 03:01

Pinal


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

like image 23
Cerbrus Avatar answered Jan 06 '23 02:01

Cerbrus