Виктор, если мы говорим о приложении, как о программе, то это английский термин application, переведенный на русский язык. И чтобы понять, откуда и как он появился, нужно копаться в английском языке.
Т.е. лучше почитать или задать вопрос на "их" форумах.
это из-за того, что у блока с картинкой нет свойства высоты.
неверное утверждение
Этот отступ образовывается у строчных и строчно-блочных элементов из-за особенностей выравнивания по базовой линии (дефолтное значение vertical-align). И неважно задаете вы ему высоту или нет. Лечится свойством vertical-align: top;.
Не преувеличивайте. Есть ряд тегов с необязательным закрытием. Законно, по спецификации. А также есть ряд необязательных тегов, к коим, в частности относятся html и body.
Нужно лишь помнить эти теги. Однако, чтобы случайно не запороть верстку, лучше все же иметь привычку закрывать все теги. А еще лучше использовать продвинутый редактор, который сам будет закрывать ваши теги.
Имейте ввиду, что гугл — это огромная посещаемость, они экономят на каждом байте. Отсюда вывод о незакрытых тегах — делайте как удобно, гугл не указ.
То же самое с табами. Если вы используете именно табы (\t), то без разницы как настроите свой редактор для отображения. Если пробелы, то так как принято в вашей команде. А пишут так, как нравится. Я люблю четыре пробела в html и javascript и два пробела в css/scss.
Использование important конечно говорит о том, что вы что-то сделали не совсем правильно, но иногда без этого все же не обойтись. Я имею ввиду, что дешевле воткнуть important, чем переписывать что-то.
Сетку разумеется кастомизировать можно. Только не под свои нужны, а под нужды нарисованного дизайна (это с позиции разработчика, а с позиции дизайнера вообще нет ограничений, рисует как хочет, главное в сетке).
Про бэм полно ресурсов. Если вам только только про классы, без полного стека разработки по бэму, то там достаточно просто. Почитайте десяток первых статей в интернете.
Артур Кудашев,
В трелло я не могу посмотреть.
Вам нужна подсветка места бросания элемента?
В вашем примере перетаскивание в любую колонку вообще не работает.
В принципе достаточно просто: определить элемент, над которым находится мышь, прикинуть вверх или вниз нужно бросить, и отобразить там временный сгенерированый див, стилизованный как нужно.
https://jsfiddle.net/adc7hfkt/