我如何垂直对齐我的元素?

时间:2018-06-10 20:26:58

标签: html css

这里我有我的网站,特别是这是用户页面。 现在,问题是标题元素(和其他)不会出现在同一行中。这就是我的意思:

enter image description here

我该如何解决这个问题?这是HTML和CSS代码:

HTML:

<?php
session_start();
if(!isset($_SESSION['user'])){
  header('Location: TESlogin.php');
}
else{
?>

<!DOCTYPE html>
<html>
<head>
  <title>myTES</title>
  <link href="myTES_style.css" rel="stylesheet" type="text/css">
  <link rel="shortcut icon" href="tes-ico(1).ico" />
</head>
<body>

<div id="mySidenav" class="sidenav">
 <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">& times;</a>
 <a href="#">Home</a>
 <a href="#">I miei consumi</a>
 <a href="#">Il mio conto</a><br>
 <a href="logout.php">Esci</a>
</div>


<div id = "main">
 <div class="header">
  <p id = "p1">My<b>TES</b></p>
   &nbsp; &nbsp; <p id = "p-left" ><span style="font-size:20px;   cursor:pointer;" onclick="openNav()">&#9776; </span></p>
 </div>


 <div id="pmain">
  &nbsp; &nbsp; Ciao <b><?= $_SESSION['nome'] ?></b> 
  &nbsp; <i class="right"></i>
 </div>
 <hr>
 <p align = "center"> il mio abbonamento &nbsp; <i class="down"></i></p>
 <hr>

</div>

<!----- script in javascript per effetto comparsa laterale menu ----->
<script>
 function openNav() {
   document.getElementById("mySidenav").style.width = "250px";
   document.getElementById("main").style.marginLeft = "250px";
 }

 function closeNav() {
   document.getElementById("mySidenav").style.width = "0";
   document.getElementById("main").style.marginLeft= "0";
}
</script>

</body>
</html>

<?php
}
?>

CSS:

@font-face{
  src: url(font/Montserrat-ExtraLight.ttf);
  font-family: montserratblack;
}

html, body{
  display: inline-block;     /* Serve a far collassare i magini dei                                                   contenuti adiacenti ai limiti del body, i quali influirebbero altrimenti             sullo stesso body */
  position: relative;        /* Blocca il riferimento dei contenuti con                position absolute anche durante lo scroll della pagina */
  width: 100%;               /* Con inline-block la larghezza è      relativa ai contenuti, quindi è necessario estenderla per l'intera larghezza della finestra */
  min-height: 100%;          /* Estende l'altezza del body per tutta la finestra anche se ci sono pochi contenuti, evitando che in tal caso il     .footer si porti in mezzo alla pagina */
  margin: 0;                 /* Rimuove i margini di default per ottenere un corretto dimensionamento */
  padding: 0;
  font-family: montserratblack;
  font-size: 20px;
}

.header{ 
  width: 100%;
  background-color: grey;
  overflow: hidden;
}

#pmain{
  display: inline-block;
}

#p-left{
  float: left;
  display: inline;
  margin: 0 0 0 20px;
}

#p1{
  text-align: center;
  color: white;
  font-size: 20px;
}

#p2{
  float: right;
}

i {
  border: solid black;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
}

.down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

/* barra a comparsa dal lato sinistro */
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
   color: #f1f1f1;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}

#main {
  transition: margin-left .5s;
  /*padding: 16px;*/
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}

我试着各方面,但没有。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您的p1和p-left元素可以使用inline-block显示和verticle-align对齐。您必须相应地设置宽度。

#p-left {
   display:inline-block;
   vertical-align:middle;
   margin: 0 0 0 20px;
}

#p1 {
   display:inline-block;
   vertical-align:middle;
   text-align: center;
   color: white;
   font-size: 20px;
}
相关问题