2016-09-27 3 views
0

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

form { 
 
\t 
 
    display: table-cell; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    
 
} 
 

 

 
.trans { 
 
    
 
    background:rgba(1,1,1,0.6); 
 
    
 
} 
 

 
body { 
 
    
 
    background-image: url(wallpaper.jpg);  
 
    
 
} 
 

 
.text { 
 
    
 

 
    
 
} 
 

 
.box { 
 
    
 
    display: table; 
 
    width: 100%; 
 
    
 
}
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <link rel="stylesheet" type="text/css" href="style.css"> 
 
     <link rel="icon" type="image/ico" sizes"32x32" href="pths_logo32x.png"> 
 
     <title>Peq Anon</title> 
 
     
 
    </head> 
 
    
 
    <body> 
 

 
     <div class="container"> 
 
      <form> 
 
       <input class="trans text" type="text" name="Password"> 
 
       <button type="submit" onclick="#">Submit</button>  
 
      </form>  
 
     </div> 
 
     
 
     
 
     
 
    </body> 
 
</html>

+0

удалить 'дисплей: настольный cell' –

+0

я сделал это, но это только по центру по горизонтали. –

ответ

2

Это простое решение: оберните форму в контейнер div и используйте свойство display: flex, чтобы установить выравнивание.

Попробуйте это:

<div class="container"> 
<!-- the rest of your code comes here --> 
</div> 

И для CSS

.container { 
    display: flex; 
    justify-content: center; /* center horizontally */ 
    align-items: center; /* center vertically */ 
} 

Редактировать

Вы должны убедиться, что высота вашего body, html и container элементов все готово 100%.

Посмотрите на эту скрипку для примера: Fiddle

+0

Я пробовал это, и он только выравнивал его по горизонтали. –

+0

Убедитесь, что контейнер div разделяет всю высоту документа. Другими словами, установите высоту контейнера div на 100%, как этот '' 'height: 100%' '' –

+0

Я отредактировал свое сообщение с примером, чтобы вы могли получить представление. –

0

Использование margin:auto для горизонтального центра использования top:50% и position:relative для вертикального выравнивания. Не забудьте указать для контейнера height и сделать его положение relative.

form { 
 
    margin: auto 
 
    display: table-cell; 
 
    text-align: center; 
 
    vertical-align: middle; 
 
    position:relative; 
 
    top: 50%; 
 
    
 
    } 
 
    .container{ 
 
    position.relative; 
 
    height:200px;} 
 
    
 
    
 
    .trans { 
 
    
 
    background:rgba(1,1,1,0.6); 
 
    
 
    } 
 
    
 
    body { 
 
    
 
    background-image: url(wallpaper.jpg);  
 
    
 
    } 
 
    
 
    
 
    
 
    .box { 
 
    
 
    display: table; 
 
    width: 100%; 
 
    
 
    }
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <link rel="stylesheet" type="text/css" href="style.css"> 
 
     <link rel="icon" type="image/ico" sizes"32x32" href="pths_logo32x.png"> 
 
     <title>Peq Anon</title> 
 

 
    </head> 
 

 
    <body> 
 

 
     <div class="container"> 
 
      <form id="form"> 
 
       <input class="trans text" type="text" name="Password"> 
 
       <button type="submit" onclick="#">Submit</button>  
 
      </form>  
 
     </div> 
 

 

 

 
    </body> 
 
</html>

+0

Подумайте о том, как центрировать его по вертикали? –

+0

Используйте верх: 50% для вертикального center.sorry позвольте мне закончить мой ответ. – TSR

+0

@BilboBaggins Теперь вы можете запустить фрагмент. Я отредактировал свой ответ. Надеюсь, он ответит на ваш вопрос? – TSR

0
.container { 
    position: absolute; 
    top: 50%; 
    margin-top: -50px; 
    left: 0; 
    width: 100%; 
} 

form { 
    text-align: center; 
    vertical-align: middle; 
    margin-left: auto; 
    margin-right: auto; 
    height: 100px; 
} 

Вы должны иметь статическую высоту формы, хотя. Высота формы: 100px - это высота вашей формы. верхняя граница должна составлять 50% от вашей высоты формы.

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