Как поместить div слева или справа в чистом CSS?

Я новичок в чистом CSS, это приятно и просто!

Мой HTML:

<header class="pure-u-1 pure-u-md-1-1">
<div class="pure-u-4-5">

    <div class="left-in-header pure-u-3-8">This should be in left</div>

</div>

</header>

Мой CSS:

@font-face{
    font-family: 'myfont';
    src: url('myfont.ttf');
}


html, button, input, select, textarea, *, * *,
.pure-g [class *= "pure-u"] {
    /* Set your content font stack here: */
    font-family: 'myfont', Times, "Times New Roman", serif !important;
}

html{
    direction:rtl;
    box-sizing: border-box;

}


*, *:after, *:before{
    box-sizing: inherit;
}

*{
    margin:0;
    padding:0;
}

header{
    color:white;
    background:#b90101;
    background: rgba(200,1,1,0.8);
    margin:0 !important;
    padding:2px 0!important;
}

header > div{
    margin:auto;
    display:block !important;
    background:red;

}

.left-in-header{
    background:green;

}

Теперь, пожалуйста, смотрите зеленый div с классом .left-in-headerЯ хочу поставить его слева от родителя! (его размер pure-u-3-8). (Мой язык сайта персидский, и персидский справа налево, тогда мое направление rtl)

И как поместить div в центр своего родителя с помощью чистых классов?

2 ответа

Решение

Дайте ниже свойство css:

.pure-u-3-8{
 float:left;
text-align:left;
} 

и удалить margin:auto от div itslef и его родителя, если дано

Использование flexbox может быть хорошей идеей, оно учитывает направление текста при определении, например <html dir="rtl" ...>,

Выравнивание может быть достигнуто путем настройки display: flex а также justify-content: flex-end (или другой, например space-between или же space-around, если вы хотите выровнять больше элементов другим способом) к родителю. Дополнительные параметры см. В этом руководстве: https://css-tricks.com/snippets/css/a-guide-to-flexbox/.

Другие вопросы по тегам