2014-02-02 3 views
0

Этот вопрос задан раньше, однако каждая ситуация уникальна. У меня есть скриншот веб-сайта, на котором есть окно входа в систему (регистрационная коробка) с запиской на стороне, чтобы сообщить пользователям, какую информацию ввести.Предотвращение перекрытия элементов в CSS

Скриншот ниже:

enter image description here

Регистрация ящик над притиркой липкого примечания, когда пользователь изменяет размер его окно браузера. Также окно входа перекрывает логотип сверху. Решение, совместимое со многими браузерами, было бы неплохо (если возможно).

Вот мой CSS:

.box 
    { 
     background:#fefefe; 
     border: 1px solid #C3D4DB; 
     border-top:1px; 
     -webkit-border-radius:5px; 
     -moz-border-radius:5px; 
     border-radius:5px; 
     -moz-box-shadow:rgba(0,0,0,0.15) 0 0 1px; 
     -webkit-box-shadow:rgba(0,0,0,0.15) 0 0 1px; 
     box-shadow:rgba(0,0,0,0.15) 0 0 1px; 
     color:#444; 
     font:normal 12px/14px Arial, Helvetica, Sans-serif; 
     margin:0 auto 30px; 
     overflow:hidden; 
    } 
    .box.login 
    { 
      height:480px; 
      width:332px; 
      position:absolute; 
      left:50%; 
      top:37%; 
      margin:-130px 0 0 -166px; 
    } 
    .boxBody 
    { 
     background:#fefefe; 
     border-top:1px solid #dde0e8; 
     padding:10px 20px; 
    } 

    .box footer 
    { 
     background:#eff4f6; 
     border-top:1px solid #dde0e8; 
     padding:22px 26px; 
     overflow:hidden; 
     height:32px; 
    } 
    .box label 
    { 
     display:block; 
     font:14px/22px Arial, Helvetica, Sans-serif; 
     margin:10px 0 0 6px; 
    } 
    .box footer label{ 
      float:left; 
      margin:4px 0 0; 
    } 
    .box footer input[type=checkbox]{ 
      vertical-align:sub; 
      *vertical-align:middle; 
      margin-right:10px; 
.sticky { 
    /* General */ 
    margin: 0 auto; 
    padding: 8px 24px; 
    /*width: 370px; */ 
    max-width: 370px; 
    height: auto; 
    width: auto\9; 
    position: fixed; 
    left: 3%; 
    top: 35%; 
    /* Font */ 
    font-family: 'Nothing You Could Do', cursive; 
    font-size: 1.4em; 
    /* Border */ 
    border:1px #E8Ds47 solid; 
    /* Shadow */ 
    -moz-box-shadow:0px 0px 6px 1px #333333; 
    -webkit-box-shadow:0px 0px 6px 1px #333333; 
    box-shadow:0px 0px 6px 1px #333333; 
    /* Background */ 
    background: #fefdca; /* Old browsers */ 
    background: -moz-linear-gradient(top, #fefdca 0%, #f7f381 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefdca), c$ 
    background: -webkit-linear-gradient(top, #fefdca 0%,#f7f381 100%); /* Chrome10+,Safar$ 
    background: -o-linear-gradient(top, #fefdca 0%,#f7f381 100%); /* Opera11.10+ */ 
    background: -ms-linear-gradient(top, #fefdca 0%,#f7f381 100%); /* IE10+ */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefdca', endColor$ 
    background: linear-gradient(top, #fefdca 0%,#f7f381 100%); /* W3C; A catch-all for ev$ 
} 

.sticky ol { 
    margin: 12px; 
} 

.sticky p { 
    text-align: center; 
} 

А вот мой HTML:

<!DOCTYPE HTML> 
<html> 
<head> 
    <title>Secure Customer Login</title> 
    <meta charset="UTF-8" /> 
    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0$ 
    <meta name="apple-mobile-web-app-capable" content="yes" /> 
    <meta name="apple-mobile-web-app-status-bar-style" content="black" /> 
    <link rel="stylesheet" type="text/css" href="css/reset.css"> 
    <link rel="stylesheet" type="text/css" href="css/structure_register.css"> 
    <link href='https://fonts.googleapis.com/css?family=Nothing+You+Could+Do' rel='styleshe$ 
    <script>document.createElement('footer');</script> 
</head> 
<center><img src="/images/logo.png"></center> 
<body> 
<div class="sticky"> 
    <p> 
    <strong>Please Note</strong> 
    <br /> 
    </p> 
    <ol> 
     <li>Please use your real name (your information is secure and will NOT be shared)$ 
     <li>Capitalize the first letter of your first name and last name (i.e. John Doe)<$ 
     <li>Use your email address for the username, otherwise you will not be able to ac$ 
     <li>Use a secure password that cannot be easily guessed</li> 
    </ol> 
</div> 
<form class="box login" name="register" action="<?php echo $_SERVER['PHP_SELF']; ?>" meth$ 
    <fieldset class="boxBody"> 
    <label>First Name</label> 
    <input type="text" name="firstname" maxlength="50" tabindex="1" placeholder="First Na$ 
    <label>Last Name</label> 
    <input type="text" name="lastname" maxlength="50" tabindex="2" placeholder="Last Name$ 
    <label>Username</label> 
    <input type="email" name="username" maxlength="50" tabindex="3" placeholder="Email" r$ 
    <label>Password</label> 
    <input type="password" placeholder="Password" name="pass1" tabindex="4" /> 
    <label>Repeat Password</label> 
    <input type="password" placeholder="Repeat Password" name="pass2" tabindex="5" /> 
</fieldset> 
    <footer> 
    <center><input type="submit" name="submit" value="Register" class="btnLogin" /></cent$ 
    </footer> 
</form> 
<footer id="main"> 
    &copy; 2014 Rye High Group. All rights reserved.</a> 
</footer> 
</body> 
</html> 

Ваша помощь очень высоко ценится, я люблю это сообщество!

Спасибо,

Fixnode

+0

Как насчет css для .sticky? – rgtk

+1

не могли бы вы сделать это в скрипке, и мы можем попытаться это исправить? Кроме того, если вы ищете отзывчивость, тогда вам нужно использовать медиа-запросы. Избегайте использования пикселей по мере их исправления и не изменится при изменении размера браузера. –

+0

'

' Элемент устарел! Вы должны использовать CSS вместо HTML для стилизации, в этом случае, 'text-align: center'. И почему вы ставите его перед ''? – Oriol

ответ

1

Попробуйте http://jsfiddle.net/ab5KN/

HTML:

<body> 
<div class="img"> 
    <img src="http://rye-high.ca/images/logo.png" /> 
</div> 
<div class="sticky"> 
    <p> <strong>Please Note</strong> 

     <br /> 
    </p> 
    <ol> 
     <li>Please use your real name (your information is secure and will NOT be shared) </li> 
     <li>Capitalize the first letter of your first name and last name (i.e. John Doe)</li> 
     <li>Use your email address for the username, otherwise you will not be able to access your account</li> 
     <li>Use a secure password that cannot be easily guessed</li> 
    </ol> 
</div> 
<div class="box"> 
<form class="login" name="register" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
    <fieldset class="boxBody"> 
     <label>First Name</label> 
     <input type="text" name="firstname" maxlength="50" tabindex="1" placeholder="First Name" required /> 
     <label>Last Name</label> 
     <input type="text" name="lastname" maxlength="50" tabindex="2" placeholder="Last Name" required /> 
     <label>Username</label> 
     <input type="email" name="username" maxlength="50" tabindex="3" placeholder="Email" required /> 
     <label>Password</label> 
     <input type="password" placeholder="Password" name="pass1" tabindex="4" /> 
     <label>Repeat Password</label> 
     <input type="password" placeholder="Repeat Password" name="pass2" tabindex="5" /> 
    </fieldset> 
    <footer> 
     <center> 
      <input type="submit" name="submit" value="Register" class="btnLogin" /> 
     </center> 
    </footer> 
</form> 
</div> 
<footer id="main">&copy; 2014 Rye High Group. All rights reserved.</a> 
</footer> 
</body> 

CSS:

body { 
    background:#eff3f6; 
    width: 1000px; 
} 
.img { 
    /*display: block;*/ 
    width:300px; 
    margin: 0 auto; 
} 
.box { 
    width:332px; 
    margin: 5px auto; 
    background:#fefefe; 
    border: 1px solid #C3D4DB; 
    border-top:1px; 
    -webkit-border-radius:5px; 
    -moz-border-radius:5px; 
    border-radius:5px; 
    -moz-box-shadow:rgba(0, 0, 0, 0.15) 0 0 1px; 
    -webkit-box-shadow:rgba(0, 0, 0, 0.15) 0 0 1px; 
    box-shadow:rgba(0, 0, 0, 0.15) 0 0 1px; 
    color:#444; 
    font:normal 12px/14px Arial, Helvetica, Sans-serif; 
    /*margin:0 auto 30px;*/ 
    overflow:hidden; 
    position: block; 
    z-index: -1; 
    padding-top: 3px; 
} 
.box.login { 
    height:480px; 
    width:150px; 
    margin: 0 auto; 
} 
.login fieldset{ 
    border: 0px; 
} 
.boxBody { 
    background:#fefefe; 
    border-top:1px solid #dde0e8; 
    padding:10px 20px; 
} 
.box footer { 
    background:#eff4f6; 
    border-top:1px solid #dde0e8; 
    padding:22px 26px; 
    overflow:hidden; 
    height:32px; 
} 
.box label { 
    display:block; 
    font:14px/22px Arial, Helvetica, Sans-serif; 
    margin:10px 0 0 6px; 
} 
.box footer label { 
    float:left; 
    margin:4px 0 0; 
} 
.box footer input[type=checkbox] { 
    vertical-align:sub; 
    *vertical-align:middle; 
    margin-right:10px; 
} 
/*Alert Box*/ 
.alert { 
    background: #fff6bf url(../images/exclamation.png) center no-repeat; 
    background-position: 15px 50%; 
    text-align: center; 
    padding: 5px 20px 5px 45px; 
    border-top: 2px solid #ffd324; 
    border-bottom: 2px solid #ffd324; 
} 
.info { 
    background: #CDFECD url(../images/information.png) center no-repeat; 
    background-position: 15px 50%; 
    text-align: center; 
    padding: 5px 20px 5px 45px; 
    border-top: 2px solid #90EE90; 
    border-bottom: 2px solid #90EE90; 
} 
.error { 
    background: #FFBFBF url(../images/error.png) center no-repeat; 
    background-position: 15px 50%; 
    text-align: center; 
    padding: 5px 20px 5px 45px; 
    border-top: 2px solid #FF2424; 
    border-bottom: 2px solid #FF2424; 
} 
.box input[type=email], .box input[type=password], .box input[type=text], .txtField, .cjComboBox { 
    border:6px solid #F7F9FA; 
    -webkit-border-radius:3px; 
    -moz-border-radius:3px; 
    border-radius:3px; 
    -moz-box-shadow:2px 3px 3px rgba(0, 0, 0, 0.06) inset, 0 0 1px #95a2a7 inset; 
    -webkit-box-shadow:2px 3px 3px rgba(0, 0, 0, 0.06) inset, 0 0 1px #95a2a7 inset; 
    box-shadow:2px 3px 3px rgba(0, 0, 0, 0.06) inset, 0 0 1px #95a2a7 inset; 
    margin:3px 0 4px; 
    padding:8px 6px; 
    width:270px; 
    display:block; 
} 
.box input[type=email]:focus, .box input[type=password]:focus, .box input[type=text]:focus, .txtField:focus, .cjComboBox:focus { 
    border:6px solid #f0f7fc; 
    -moz-box-shadow:2px 3px 3px rgba(0, 0, 0, 0.04) inset, 0 0 1px #0d6db6 inset; 
    -webkit-box-shadow:2px 3px 3px rgba(0, 0, 0, 0.04) inset, 0 0 1px #0d6db6 inset; 
    box-shadow:2px 3px 3px rgba(0, 0, 0, 0.04) inset, 0 0 1px #0d6db6 inset; 
    color:#333; 
} 
.cjComboBox { 
    width:294px; 
} 
.cjComboBox.small { 
    padding:3px 2px 3px 6px; 
    width:100px; 
    border-width:3px !important; 
} 
.txtField.small { 
    padding:3px 6px; 
    width:200px; 
    border-width:3px !important; 
} 
.rLink { 
    padding:0 6px 0 0; 
    font-size:11px; 
    float:right; 
} 
.box a { 
    color:#999; 
} 
.box a:hover, .box a:focus { 
    text-decoration:underline; 
} 
.box a:active { 
    color:#f84747; 
} 
.btnLogin { 
    -moz-border-radius:2px; 
    -webkit-border-radius:2px; 
    border-radius:15px; 
    background:#a1d8f0; 
    background:-moz-linear-gradient(top, #badff3, #7acbed); 
    background:-webkit-gradient(linear, left top, left bottom, from(#badff3), to(#7acbed)); 
    -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#badff3', EndColorStr='#7acbed')"; 
    border:1px solid #7db0cc !important; 
    cursor: pointer; 
    padding:11px 16px; 
    font:bold 11px/14px Verdana, Tahomma, Geneva; 
    text-shadow:rgba(0, 0, 0, 0.2) 0 1px 0px; 
    color:#fff; 
    -moz-box-shadow:inset rgba(255, 255, 255, 0.6) 0 1px 1px, rgba(0, 0, 0, 0.1) 0 1px 1px; 
    -webkit-box-shadow:inset rgba(255, 255, 255, 0.6) 0 1px 1px, rgba(0, 0, 0, 0.1) 0 1px 1px; 
    box-shadow:inset rgba(255, 255, 255, 0.6) 0 1px 1px, rgba(0, 0, 0, 0.1) 0 1px 1px; 
    margin-left:12px; 
    padding:7px 21px; 
} 
.btnLogin:hover, .btnLogin:focus, .btnLogin:active { 
    background:#a1d8f0; 
    background:-moz-linear-gradient(top, #7acbed, #badff3); 
    background:-webkit-gradient(linear, left top, left bottom, from(#7acbed), to(#badff3)); 
    -ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr='#7acbed', EndColorStr='#badff3')"; 
} 
.btnLogin:active { 
    text-shadow:rgba(0, 0, 0, 0.3) 0 -1px 0px; 
} 
footer#main { 
    /*position:fixed;*/ 
    left:0; 
    bottom:10px; 
    text-align:center; 
    font:normal 11px/16px Arial, Helvetica, sans-serif; 
    width:100%; 
} 
.sticky { 
    /* General */ 
    margin: 0 auto; 
    padding: 8px 4px; 
    /*width: 370px; */ 
    max-width: 300px; 
    height: auto; 
    width: auto\9; 
    position: absolute; 
    left: 3%; 
    top: 250px; 
    /* Font */ 
    font-family:'Nothing You Could Do', cursive; 
    font-size: 1em; 
    /* Border */ 
    border:1px #E8Ds47 solid; 
    /* Shadow */ 
    -moz-box-shadow:0px 0px 6px 1px #333333; 
    -webkit-box-shadow:0px 0px 6px 1px #333333; 
    box-shadow:0px 0px 6px 1px #333333; 
    /* Background */ 
    background: #fefdca; 
    /* Old browsers */ 
    background: -moz-linear-gradient(top, #fefdca 0%, #f7f381 100%); 
    /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefdca), color-stop(100%, #f7f381)); 
    /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(top, #fefdca 0%, #f7f381 100%); 
    /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(top, #fefdca 0%, #f7f381 100%); 
    /* Opera11.10+ */ 
    background: -ms-linear-gradient(top, #fefdca 0%, #f7f381 100%); 
    /* IE10+ */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefdca', endColorstr='#f7f381', GradientType=0); 
    /* IE6-9 */ 
    background: linear-gradient(top, #fefdca 0%, #f7f381 100%); 
    /* W3C; A catch-all for everything else */ 
} 
/*.sticky ol { 
    margin: 12px; 
}*/ 
.sticky p { 
    text-align: center; 
} 

В основном я добавил ширину тела, или же регулировать размер окна всегда будет вызывать что-то перекрывать. Я также добавил в обертки div вокруг изображения и формы (не уверен, действительно ли это необходимо, но добавлено для того, что я считаю лучшей структурой). Вынул часть позиционирования css, а также вызвал чрезмерную боль при попытке сделать что-то.

+0

Я хочу, чтобы сайт был динамичным, создав ширину тела 1000 пикселей, он фиксирует все элементы в одном месте. Также Jfiddle не представляет сайт должным образом. Все показано немного влево. – fixnode

+0

Посмотрев на сайт еще немного, я бы рекомендовал избавиться от липкого, а затем перейти с размером div по содержимому и использовать «margin: 0 auto;», чтобы убедиться, что они сосредоточены на странице. Затем я возьму все элементы липкого и использую только 1-й и 4-й предметы и помещаю их как «вспомогательный» текст на или ниже входов. Пункт 2 можно сделать с помощью javascript, чтобы вы могли отформатировать свое имя для них после выхода из ввода, а элемент номер 3 должен быть валидацией, которая выполняется для предотвращения входа пользователей в плохие данные в первую очередь. – Spdermn02

+0

«margin: 0 auto;» было всего лишь предположением, если левая и правая поля автоматически, верх и низ могут быть такими, какими вы хотите. – Spdermn02

0

Добавить это правило CSS:

.box 
{ 
    position: relative; 
    z-index: -1; 
} 
+0

Я обновил свой вопрос и добавил код .sticky. Ваш текущий ответ заставляет элемент .sticky перекрывать регистрационный ящик – fixnode

+0

http://jsfiddle.net/fixnode/va45t/ – fixnode

+0

Итак, где бы вы хотели поставить .sticky? – rgtk

0

Как насчет этого?

Я удалил ваши позиции в абсолютных стилях и добавил обертку вокруг липких и элементов управления входами и применил float:left и float: right на них.

Сама обертка выровнена по центру на странице.

Я редактировал скрипку вы размещены в комментарии к предыдущему ответу и обновил его здесь: http://jsfiddle.net/va45t/1/

#wrapper { 
    width: 720px; 
    position: relative; 
    margin: 0 auto; 
} 

Другие измененные стили были .box.login и .sticky

Смежные вопросы