Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2019, 15:16   #1
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию Почему появляется скролл?

Здравствуйте. Не могу понять, почему появляется скролл у страницы.
Мне необходимо, чтобы .top блок был определенной высоты, а .bottom на всю оставшуюся высоту.
Код:
<div class="general">
	<div class="right">
		<div class="top"></div>
		<div class="bottom">
			<textarea name="text" id="text"></textarea>
		</div>
	</div>
</div>
Код:

body {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

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

.general {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: stretch;
	height: 100vh;
}
.right {
    display: flex;
    flex-direction: column;
    background-color: #ccc;
    flex-grow: 1;
}
.top {
	height: 30px;
	background-color: #d0d;
}
.bottom {
    height: 100%;
}
textarea {
    width: 100%;
    height: 100%;
}
https://jsfiddle.net/arbusx/xekdy7w6/
Parallelogram вне форума Ответить с цитированием
Старый 16.01.2019, 19:08   #2
ProgrammerMan
Заблокирован
 
Регистрация: 16.01.2019
Сообщений: 2
По умолчанию

Ты можешь просто использовать overflow: hidden; Вот готовый вариант - http://rapprogtrain.com/editor/code/45. Но лучше почитай про это - http://rapprogtrain.com/learn-css/co...w-property.php
ProgrammerMan вне форума Ответить с цитированием
Старый 16.01.2019, 20:02   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Вот готовый вариант - http://rapprogtrain.com/editor/code/45.
textarea у вас там не закрыт

Цитата:
Код:
*, :after, :before {
	box-sizing: border-box;
}
Это вы в bootstrap взяли? Сейчас придёт злой Naive сюда.
P. S. А нет, не у вас... это ТС начал...
Вадим Мошев вне форума Ответить с цитированием
Старый 16.01.2019, 20:50   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Пришел, натоптал, выразил негодование, ушел)

UPD: Ладн...
Цитата:
Почему появляется скролл?
margin у textarea не нулевой

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
textarea у вас там не закрыт
закроется автоматом, но правильно, конечно закрывать

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Это вы в bootstrap взяли? Сейчас придёт злой Naive сюда.
P. S. А нет, не у вас... это ТС начал...
0. Использование универсального селектора — отстой. Код мгновенно становится не реюзабельным, причем любой: тот что написан для бутстрапа и тот, что написан не для бутстрапа нельзя безбоязненно вставить к себе.
1. Универсальный селектор создает лишнюю нагрузку для рендера стилей: он не только пробегается по каждому элементу, но и пробегается по наследованию стилей (для box-sizing нет, у него нет наследования).
2. Псевдоэлементы before && after получив хотя-бы строчку стилей создаются, от свойства content это не зависит. (возможно это поправили в новых версиях браузеров, я не следил)
3. Это нарушает один из краеугольных принципов не только ООП, а ваще программирования: инкапсуляцию.
4. Из-за этого дерьма, когда я пишу любой виджет, я вынужден для каждого элемента явно указывать необходимый для него box-sizing. И даже еще хорошо, что только box-sizing, ибо написал скрипт, который ставит его за меня.

Бутстраповцы могли просто всем своим элементам прописать бокс, но они испортили ваще всё! У нас в команде юзают урезанный бутстрап, у которого нет универсального селектора. Сам по себе бутстрап не плох. А вот эти 3 строчки у меня и у большинства профессиональных фронтендеров и верстальщиков вызывают ярость. Призываю всех если и юзать бутстрап, то резать его также. А лучше ваще не юзать.

UPD2: overflow: hidden лучше стараться избегать по-максимуму, для рендера он довольно тяжел, потому что любой overflow создает отдельный слой рендера. Смотри лекцию ШРИ про слои.
Alar, верни репу!

Последний раз редактировалось Naive; 16.01.2019 в 22:47.
Naive вне форума Ответить с цитированием
Старый 17.01.2019, 01:45   #5
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение

0. Использование универсального селектора — отстой. Код мгновенно становится не реюзабельным, причем любой: тот что написан для бутстрапа и тот, что написан не для бутстрапа нельзя безбоязненно вставить к себе.
1. Универсальный селектор создает лишнюю нагрузку для рендера стилей: он не только пробегается по каждому элементу, но и пробегается по наследованию стилей (для box-sizing нет, у него нет наследования).
Из всего этого я понял, что *{box-sizing: border-box;} можно использовать (но только его, потому что он без наследования). :after, :before - Нет нет и ещё рар нет.
Parallelogram вне форума Ответить с цитированием
Старый 17.01.2019, 01:51   #6
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
margin у textarea не нулевой
Обновил jsfiddle.net, добавил margin:0 у textarea, и это ничего не поменяло.
overflow: hidden - нельзя =(
Parallelogram вне форума Ответить с цитированием
Старый 17.01.2019, 07:09   #7
Parallelogram
Недотепа
Форумчанин
 
Регистрация: 18.01.2011
Сообщений: 174
По умолчанию

Короче, решил проблему.
Код:
textarea { display: block; }
Parallelogram вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[РЕШЕНО] Почему не появляется фоновое изображение? Tamago4aRUS HTML и CSS 2 08.02.2017 20:01
В ScrollBox не появляется вертикальный скролл Janger Общие вопросы Delphi 1 22.06.2016 12:05
Почему появляется обводка кнопок и инпутов? (не во всех браузерах) StivinKing HTML и CSS 2 24.11.2012 16:17
Необходима консультация!Почему появляется ошибка о плавающей запятой? _Иван_ Помощь студентам 5 09.04.2011 23:58
Почему появляется цикл? valerij Microsoft Office Excel 11 11.02.2009 00:20