kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 user1355300
user1355300
Вопрос

CSS Вертикальное выравнивание не работает с float

Как я могу использовать vertical-align и float в свойствах div? Вертикальное выравнивание работает нормально, если я не использую float. Но если я использую float, то он не работает. Для меня важно использовать float:right для последнего div.

Если убрать float из всех div'ов, то все будет работать нормально:

<div class="wrap">
    <div class="left">First div, float left,  has more text.</div>
    <div class="left2">Second div, float left </div>
    <div class="right">Third div, float right</div>
</div>

CSS:

.wrap{
    width: 500px;
    overflow:hidden;    
    background: pink;
}

.left {
    width: 150px;       
    margin-right: 10px;
    background: yellow;  
    float:left;
    vertical-align: middle;  
    display:inline-block

}

.left2 {
    width: 150px;    
    margin-right: 10px;
    background: aqua;
    float:left;
    vertical-align: middle;   
    display:inline-block
}

.right{
    width: 150px;
    background: orange;
    float:right;
    vertical-align: middle;
    display:inline-block
}

">JSFiddle

75 2012-07-30T08:52:16+00:00 3
 Neji
Neji
Редактировал вопрос 30-го июля 2012 в 9:04
Программирование
html
css
vertical-alignment
Решение / Ответ
Anders B
Anders B
14-го июня 2013 в 7:26
2013-06-14T07:26:50+00:00
Дополнительно
Источник
Редактировать
#16819613

Вам необходимо установить высоту строки.

<div style="border: 1px solid red;">
<span style="font-size: 38px; vertical-align:middle; float:left; line-height: 38px">Hejsan</span>
<span style="font-size: 13px; vertical-align:middle; float:right; line-height: 38px">svejsan</span>
<div style="clear: both;"></div>

87
0
Ahsan Khurshid
Ahsan Khurshid
30-го июля 2012 в 8:54
2012-07-30T08:54:47+00:00
Дополнительно
Источник
Редактировать
#16819612

Отредактировано:

Свойство CSS vertical-align определяет вертикальное выравнивание элемента inline, inline-block или table-cell.

Читайте эту статью для Понимание вертикального выравнивания.

Ahsan Khurshid
Ahsan Khurshid
Редактировал ответ 7-го ноября 2017 в 5:55
16
0
 Gabriel
Gabriel
7-го апреля 2015 в 9:53
2015-04-07T09:53:35+00:00
Дополнительно
Источник
Редактировать
#16819614

Вертикальное выравнивание не работает с плавающими элементами. Это происходит потому, что float вырывает элемент из нормального потока документа. Вы можете использовать другие методы вертикального выравнивания, например, основанные на transform, display: table, абсолютном позиционировании, line-height, js (в крайнем случае) или даже обычную старую html-таблицу (возможно, первый выбор, если содержимое действительно табличное). Вы обнаружите, что по этому вопросу ведутся жаркие дебаты.

Тем не менее, вот как вы можете вертикально выровнять ВАШИ 3 div:

.wrap{
    width: 500px;
    overflow:hidden;    
    background: pink;
}

.left {
    width: 150px;       
    margin-right: 10px;
    background: yellow;  
    display:inline-block;
    vertical-align: middle; 
}

.left2 {
    width: 150px;    
    margin-right: 10px;
    background: aqua; 
    display:inline-block;
    vertical-align: middle; 
}

.right{
    width: 150px;
    background: orange;
    display:inline-block;
    vertical-align: middle; 
}

Не совсем понятно, зачем вам понадобилась фиксированная ширина, display: inline-block и плавающая.

 Gabriel
Gabriel
Редактировал ответ 10-го апреля 2015 в 12:12
8
0
Похожие сообщества 10
HTML/CSS — русскоговорящее сообщество
HTML/CSS — русскоговорящее сообщество
6 455 пользователей
Возникли проблемы с HTML или CSS? – пиши сюда, обсудим и предложим самое лучшее решение. @javascript_ru @js_noobs_ru @frontend_ru Каналы: @defront @htmlshit 🟡 Ищешь чат? @it_chats 🟡 Мы всегда рады помочь, но у нас есть правила. ВАЖНО: http://nometa.xyz
Открыть telegram
Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
2 919 пользователей
Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Библиотека верстальщика: @weblibrary Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @bigmarketolog Автор: @M_Boroda
Открыть telegram
WebPwnChat
WebPwnChat
2 631 пользователей
В этом чате обсуждаются атаки и уязвимости на веб-приложения. Любой оффтоп карается баном.
Открыть telegram
Frontend_ru
Frontend_ru
2 468 пользователей
Русскоговорящее сообщество фронтенд разработчиков Каналы: @frontendnoteschannel @defront Чаты: @bem_ru @javascript_ru @css_ru Важно! http://nometa.xyz
Открыть telegram
Чат — Типичный Верстальщик
Чат — Типичный Верстальщик
2 373 пользователей
✅ Наш канал: @tpverstak Если не можете писать в чате, то перезайдите и подтвердите, что вы не бот, нажав на кнопку 🔥 ПРАВИЛА ЧАТА — @annblok/BygPgC3E7" rel="nofollow noopener noreferrer" class="text-blue hover:text-black link" target="_blank">https://teletype.in/@annblok/BygPgC3E7 👍 За бан разбанов нет
Открыть telegram
JavaScript чат | HTML 5 & CSS 3
JavaScript чат | HTML 5 & CSS 3
2 228 пользователей
Чат для тех кому нужна помощь по коду, или есть какие-то вопросы по реализации задачи в JavaScript. 💼 По вопросам: @dictor_inc ✏️ Правила: t.me/javascript_alert/3070 Практика: https://t.me/joinchat/GmZ5CkHxDCszM2ko
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 5 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
JA
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией