Вопрос
У меня есть несколько вопросов об основах CSS, которые я не смог понять или найти ответ.
Сначала я попробовал разместить 3 тега div внутри другого тега div.Для первого основного тега div, содержащего три других тега, не было установлено ничего, кроме размера, который был 400px
к 400px
.Из остальных трех дивизий внутри все были 20px
к 20px
, и было присвоено 1 float:left
, а двум другим был присвоен стиль float right.Все атрибуты были определены в стиле, а два элемента div, которые были float:right
были присвоены одинаковые стили.Моя проблема в том, что из двух элементов div тот, который был последним в коде, появился в браузере первым, и я не понял причину этого.
Вот код:
<html>
<head>
<style>
#main{
border: red 4px dashed;
width: 25%
height: 25%,
}
#left{
float: left;
width: 20px;
height: 20px,
}
#right{
float: right;
width: 20px;
height: 20px,
}
</style>
</head>
<body>
<div id="main">
<div id="left">1</div>
<div id="right">2</div>
<div id="right">3</div>
</div>
</body>
</head>
</html>
Решение
Моя проблема в том, что из двух дел, тот, который пришел последним в коде, появится в браузере первым, а я не понял причины это.
Я думаю, что Вы неправильно поняли & "появитесь первым &". Вы устанавливаете свои div'ы, чтобы они плавали правильно. Итак, & Quot; 2 & Quot; div, который является ПЕРВЫМ в Вашем коде, является ПЕРВЫМ, чтобы быть смещенным вправо, поэтому он идет первым к правой стороне. & Quot; 3 & Quot; После этого передается значение div, поэтому я перехожу к левой части " 2 " div - потому что " 2 " был первым, он занял первое место в правой части окна браузера, и div " 3 " занял второе место с правой стороны окна. Р>
В этом случае " второе место в правой части окна " означает " во-первых, глядя слева " ; -) р>
Другие советы
Сначала я бы использовал class, а не id для div. Но есть также некоторые опечатки в CSS:
#main{
border: red 4px dashed;
width: 25%; /* <-- Missing ; */
height: 25%; /* <-- change , to ; */
}
#left{
float: left;
width: 20px;
height: 20px; /* <-- change , to ; */
}
#right{
float: right;
width: 20px;
height: 20px; /* <-- change , to ; */
}
Я не знаю о проблеме с наложением, но у вас не может быть двух элементов с одинаковым идентификатором. Вы, вероятно, хотите:
...
<div class="right">2</div>
<div class="right">3</div>
...
и измените #right
на .right
в CSS.
Я думаю, ваша проблема в том, что вы используете id вместо класса.Идентификатор должен быть уникальным, поэтому второй элемент div с id="right" является единственным с этим идентификатором.
Вы можете изменить свой код так, чтобы у вас было:
< div class="right" >2</div >
< div class="right" >3</div >
(вместо id="right")
И в css у вас будет:
.верно {
float: right;
width: 20px;
height: 20px,
}
(вместо #право)
<html>
<head>
<style>
#main {
border: 4px dashed red;
display: block;
overflow: hidden;
}
#left {
float: left;
width: 20px;
height: 20px,
}
#right {
float: right;
width: 20px;
height: 20px,
}
</style>
</head>
<body>
<div id="main">
<div id="left">1</div>
<div id="right">3</div>
<div id="right">2</div>
</div>
</body>
</head>
</html>