Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2021, 15:59
Кандидат Javascript-наук
Отправить личное сообщение для fori Посмотреть профиль Найти все сообщения от fori
 
Регистрация: 27.01.2021
Сообщений: 117

Отступы <!DOCTYPE html>
Здравствуйте, пытаясь сделать текс-ареа размером всего дива столкнулся с проблемой каких-то отступов снизу. Причем они пропадают если убрать <!DOCTYPE html> Подскажите пожалуйста как ето работает и где я ошибся))
<!DOCTYPE html>
<div class="chat">
<textarea class="chat__text-area"></textarea>
</div>
<style>
.chat {
  width: 40%;
  height: 40%;
  background: black;
}
.chat__text-area {
  width: 100%;
  height: 100%;
  background: green;
}
</style>

<div class="chat">
<textarea class="chat__text-area"></textarea>
</div>
<style>
.chat {
  width: 40%;
  height: 40%;
  background: black;
}
.chat__text-area {
  width: 100%;
  height: 100%;
  background: green;
}
</style>
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2021, 16:28
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

У многих элементов кроме стилей устанавливаемых пользователем, есть еще стили устанавливаемые браузером по умолчанию.
Когда вы пишете для textarea
width: 100%;
это вы устанавливаете ширину клиентской части в 100% от родительского div. Но браузер дополнительно приписывает для textarea

padding:2px;
border: 1px solid black;

Поэтому общая ширина оказывается больше.

Надо либо скинуть стили браузера, либо устанавливать размеры всей textarea, а не только клиентской части
Кроме того стиль по умолчанию для textarea - inline-block. Из-за этого браузер может по своему выравнивать базовую линию первой строки textarea со строкой родительского элемента. Может чуть приподнять элемент или опустить.
Проще установить для нее display: block


<!DOCTYPE html>
<div class="chat">
<textarea class="chat__text-area"></textarea>
</div>
<style>
.chat {
  position: relative;
  width: 40%;
  height: 40%;
  background: black;
}
.chat__text-area {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  background: green;
}
</style>

Последний раз редактировалось voraa, 11.02.2021 в 16:57.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические отступы в блоке oslayer Элементы интерфейса 8 22.11.2018 19:11
Убрать отступы в блоке Asperant (X)HTML/CSS 2 26.09.2017 16:07
Отступы одного элемента по ширине двух других Perepelenok Элементы интерфейса 2 04.10.2016 16:30
Как наличие тега <!DOCTYPE html> влияет на скрипт? Mixeyka Events/DOM/Window 8 09.06.2016 22:35
JS не работает с <!DOCTYPE html> -Aleks- Общие вопросы Javascript 5 27.05.2012 14:58