Я пытался выровнять какой-то элемент <p>
слева, используя свойство float: left;
css.
Когда текст на одной строке, он правильно выровнен по левому краю, как нарисунок ниже:
Но когда текст содержит не менее двух строк, текст больше не выравнивается по левому краю и выравнивается по центру из-за свойства text-align: center;
, которое он наследуетиз body
:
Я знаю, что могу удалить свойство text-align
из body
, но мне хотелось бы знать, почему это происходит.
Кто-нибудь знает почему?Заранее спасибо.
Вот HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Float test</title>
<link rel="stylesheet" href="./css/styles.css">
</head>
<body>
<div class="left-container">
<div class="left-container-heading">Lorem Ipsum</div>
<br>
<br>
<p>Float left doesn't work anymore since it is more than one line and I would like to know why and how to fix this.
</p>
</div>
</body>
</html>
А вот CSS:
body {
padding-top: 2em;
text-align: center;
width: 900px;
margin: auto;
}
p, h, div {
font-family: 'Corbel';
}
p {
margin: 0;
}
.left-container {
border: 3px solid red;
border-right: 1px solid red;
float: left;
width: 446px;
height: 100%;
}
.left-container p {
position: relative;
float: left;
margin-left: 5px;
}
.left-container-heading {
text-decoration: underline;
font-style: italic;
font-weight: bold;
float: left;
margin-left: 5px;
}