Подтвердить что ты не робот

Как поместить последний div в правый верхний угол родительского div? (CSS)

Можно ли каким-либо образом использовать CSS для размещения block2 в верхнем правом углу из block1?


Контекст:

  • block2 должен быть (очень) последним внутри HTML-кода block1, или его можно разместить после block1. Я не могу сделать его первым элементом в block1.
  • Внутри block1 может быть <p>, изображений, текста, и мне не известно, что и сколько.
  • Также мне нужен поток block2.

Код:

.block1 {
    color: red;
    width: 100px;
    border: 1px solid green;
}

.block2 {
    color: blue;
    width: 70px;
    border: 2px solid black;
    position: relative;
}
<div class='block1'>
    <p>text</p>
    <p>text2</p>
    <div class='block2'>block2</div>
</div>
4b9b3361

Ответ 1

.block1 {
    color: red;
    width: 100px;
    border: 1px solid green;
    position: relative;
}

.block2 {
    color: blue;
    width: 70px;
    border: 2px solid black;
    position: absolute;
    top: 0px;
    right: 0px;
}
<div class='block1'>
  <p>text</p>
  <p>text2</p>
  <div class='block2'>block2</div>
</div>

Ответ 2

Вы можете просто добавить правый float в элемент .block2 и поместить его в первую позицию (это очень важно).

Вот код:

<html>
<head>
    <style type="text/css">
        .block1 {
            color: red;
            width: 100px;
            border: 1px solid green;
        }
        .block2 {
            color: blue;
            width: 70px;
            border: 2px solid black;
            position: relative;
            float: right;
        }
    </style>
</head>
<body>
    <div class='block1'>
        <div class='block2'>block2</div>
        <p>text</p>
        <p>text2</p>
    </div>
</body>

С уважением...

Ответ 3

 <div class='block1'>
    <p  style="float:left">text</p>
    <div class='block2' style="float:right">block2</div>
    <p  style="float:left; clear:left">text2</p>

 </div>

Вы можете clear:both или clear:left в зависимости от конкретного контекста. Кроме того, вам нужно будет поиграть с width, чтобы он работал правильно...

Ответ 4

Если вы можете добавить еще один разделитель div "block3", вы можете сделать что-то вроде этого.

 <html>
      <head>
      <style type="text/css">
      .block1 {color:red;width:120px;border:1px solid green; height: 100px;}
      .block3 {float:left; width:10px;}
      .block2 {color:blue;width:70px;border:2px solid black;position:relative;float:right;}
      </style>
      </head>

    <body>
    <div class='block1'>

        <div class='block3'>
            <p>text1</p>
            <p>text2</p>
        </div>

        <div class='block2'>block2</DIV>

    </div>

    </body>
    </html>