Lex Ridley
Lex Ridley

Reputation: 63

Modal box is not opening

I want to create a CSS/HTML modal and I believe that no JavaScript is necessary. Here is the sample code that I am using. The modal won't open, but it shows that its linking to it. I have 3 CSS files and I added it to the bootstrap.css and the stylishportfolio.css but not the bootstrap.min.css.

 <a href="#openModal">
 <img class="img-portfolio img-responsive" src="img/Johannesburg2.jpg">
 <p style="position: absolute; top: 9em; right: 12em; class="btn btn-dark btn-lg"><a   href="#about"  class="btn btn-dark btn-lg">Johannesburg</a>
</p>
                                </a>

<div id="openModal" class="modalDialog">
    <div>
        <a href="#close" title="Close" class="close">X</a>
        <h2>Modal Box</h2>
        <p>This is a sample modal box that can be created using the powers of CSS3.</p>
        <p>You could do a lot of things here like have a pop-up ad that shows when your website loads, or create a login/register form for users.</p>
    </div>
</div>
.modalDialog {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;
    pointer-events: none;
}

.modalDialog:target {
    opacity:1;
    pointer-events: auto;
}

.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}

.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}

.close:hover { background: #00d9ff; }

Upvotes: 1

Views: 1465

Answers (1)

Hoja
Hoja

Reputation: 1207

If you are using bootstrap simply instantiate the modals through data attributes.

like below.

Steps


  1. Please make sure that bootstrap core css and js are loaded

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>

2. Write Modal Instantiating button like this.

 <!-- Button HTML (to Trigger Modal) -->
    <a href="#myModal" class="btn btn-lg btn-primary" data-toggle="modal">Launch Demo Modal</a>

3. Write your HTML Modal like this

<div id="myModal" class="modal fade">
      <!-- MODAL CONTENT -->
</div>

For More Details See this link :

Upvotes: 2

Related Questions