Насколько сложно освоить семантическую разметку и хороший CSS?

Я знаю, что это не будет популярным вопросом, потому что многие веб-дизайнеры хотят предположить, что их ремесло трудное и ценное.

ЭТО. Но я не считаю, что это сложно, потому что HTML и CSS трудно освоить, я считаю, что это сложно, потому что трудно быть хорошим креативным дизайнером. Пожалуйста, не поддавайтесь желанию рефлексивно не согласиться со мной, потому что я считаю язык простым.

Я отстой как дизайнер, к счастью, это не моя работа. Тем не менее, я могу сделать фото с фотографиями и с легкостью создать на их основе чистую веб-страницу HTML / CSS.

Я лично считаю, что кто-нибудь может стать эффективным гуру HTML / CSS за неделю или две. Просто здесь не так уж много сложностей (и это говорит кто-то с многолетним опытом).

Кроссбраузерное кодирование не так сложно, как кажется. Я разрабатываю в Firefox и настраиваю для IE, и все готово, хороший сброс CSS решает 99% проблем.

Вы с этим не согласны? Невозможно хорошо выучить HTML и CSS за неделю?

Обновлено: Это связано с моим сильно отклоненным ответом здесь: Проверка навыков HTML / CSS / Javascript при приеме на работу

Интересно, есть ли аргументативный тег к субъективному?

S.Lott 13.10.2008 23:15

Допускаются ли аргументированные вопросы? Я думал, что это не так

Joe Soul-bringer 02.03.2009 03:47
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
10
2
3 111
22
Перейти к ответу Данный вопрос помечен как решенный

Ответы 22

ИМХО, несовместимость браузеров - это основная причина сложности.

HTML и CSS - синтаксически чрезвычайно простые языки. Их совсем непросто использовать правильно и эффективно.

Передовые методы работы с HTML не совсем ясны, и там, где они есть, используются редко. Чтобы выучить эти вещи, нужно время, помимо изучения языка.

CSS для основных целей чрезвычайно прост. Для сложных конструкций это крайне непросто. А если учесть особенности браузера, все становится непросто.

С чисто теоретической точки зрения это довольно просто. С точки зрения реального использования, это не так.

Do you disagree with this? Is HTML and CSS impossible to learn well in a week?

Да, я почти уверен. Хотя делюсь вашим опытом, связанным с реализацией:

However I can take a photo shopped comp and create a pure HTML/CSS web page from it with ease.

Учитывая хорошую ссылку или некоторые предварительные знания, это на самом деле не так уж и сложно, конечно, много (!) Менее сложно, чем часто утверждают, если макет хоть сколько-нибудь хорош.

Однако это:

Crossbrowser coding is not as hard as people make it sound.

неправильно, по моему опыту. Это очень сильно зависит от макета, над которым вы работаете: если он разработан веб-разработчиком и оптимизирован для веб-разработки, реализация может быть простой. Однако графические проекты могут быть сколь угодно сложными, и их осмысленная реализация при одновременном обращении внимания на различные особенности браузера чрезвычайно утомительна.

HTML, будучи чисто описательным языком, почти тривиален. CSS - это все о побочных эффектах, к тому же визуальных побочных эффектах, и его, по крайней мере, на порядок сложнее выучить. Я очень сомневаюсь, что кто-нибудь сможет стать гуру CSS (по вашему определению) за неделю, даже те, кто писал спецификации. Для этого существует слишком много различных интерпретаций и расширений (например, поплавков).

P.S. Вы, делать, знаете, что HTML и CSS, лежащие в основе вашей домашней страницы, не проходят проверку, не так ли? ;-)

Моя домашняя страница управляется стандартным шаблоном блоггера? Лучше дай им знать.

FlySwat 13.10.2008 22:48

Вы НЕ ДОЛЖНЫ выбирать wordpress и / или этот недопустимый шаблон. Я думаю, это не может быть НАСТОЛЬКО просто, если вы (и, по общему признанию, многие тысячи других) полагаетесь на HTML / CSS, созданный людьми, которые, очевидно, НЕ овладели им.

Bobby Jack 13.10.2008 22:51

Это поднимает еще один хороший момент ... Делаем ли мы, пуристы, большой упор на совершенстве? Как вы думаете, сколько денег блогер зарабатывает прямо сейчас?

FlySwat 13.10.2008 22:54

Конечно, хотя я думаю, что при текущем состоянии совместимости браузера (не) это необходимо. То есть требуется очень значительный объем знаний о том, как именно стилизовать веб-страницу. Большая часть этого тратится впустую, необходима только из-за плохой реализации браузера. Мне больно.

Bobby Jack 14.10.2008 02:43

Как и в любом другом деле, практика ведет к совершенству. Я обнаружил, что чем больше я работал над разработкой сайтов с валидным HTML и CSS, тем легче стало их кроссбраузерно. Вы лучше понимаете проблемы, лучше понимаете причуды и можете заранее их обойти. Со временем становится легче. Однако, если у вас нет никого, кто мог бы указать на все это с самого начала, я не думаю, что это очень просто, и может быть очень неприятно, если вы не знаете, где искать или у кого спросить.

«Освоить» HTML и CSS несложно - семантика каждого из них проста. В этом смысле научиться рисовать еще проще - просто нанесите немного краски на холст и решите, что готово. Синтаксис - это самая легкая часть практически любой компьютерной задачи - научить как использовать его намного сложнее. Я веб-разработчик примерно с 1996 года. Я знал HTML с самого начала, а CSS и Javascript - с тех пор, как они стали широко использоваться. Когда я создаю страницу, она по-прежнему выглядит чушью - синтаксически правильной чушью, но все же не очень приятной. Вот почему мне очень приятно работать с талантливыми дизайнерами, которые могут сделать это за меня.

Вы правы, и я упомянул об этом в своем вопросе. Сложность не в знании HTML / CSS, а в способностях креативного дизайна.

FlySwat 13.10.2008 22:47

В конечном итоге проще создать сайт, используя семантическую разметку и хороший CSS, чем вернуться и изменить дизайн веб-страницы, которая была разработана с использованием 10 слоев вложенных таблиц, прозрачных GIF-файлов размером 1 пиксель (для интервала) и нестандартных тегов <font> для изменить вид текста.

Веб-дизайн - сложная тема, и вы сузили ее до HTML и CSS. Это почти то же самое, что сказать, что программировать легко, потому что вы понимаете SSADM (доступны другие методологии).

Конечно, создать HTML-страницу и загрузить ее с помощью CSS просто, но это никогда не было легко. Я серьезно сомневаюсь, что в течение двух недель вы сможете закодировать любой предоставленный вам макет в Photoshop. Насколько мне известно, веб-дизайн включает в себя весь процесс создания, включая создание дизайна в любой растровой программе, которую вы используете, а затем его кодирование в (X) HTML и CSS. Как только эта оболочка создана, Разработчик может работать над внутренними сценариями и программированием.

Веб-дизайн - сложный предмет, потому что он очень сильно меняется, и, как и в программировании, вы никогда не перестанете изучать новые способы что-то делать. Если нет, ознакомьтесь со спецификациями W3C и убедитесь, что вы действительно знаете.

Если вы находите HTML и CSS такими простыми, возможно, вам стоит взглянуть на Форумы SitePoint. Вы либо окажете большую помощь сообществу веб-дизайнеров, либо поймете, что вы не так хороши, как думали.

Я считаю, что дело не в самих языках - (X) HTML и CSS достаточно просты, и есть много хороших справочных источников. Сложнее разработать лучший способ реализовать концепцию дизайна в хорошо написанном HTML / CSS.

Мой ответ на вопрос таков: Это должно быть довольно сложно, потому что я все еще вижу кучу дерьма разметки и CSS. В частности, семантическая разметка имеет нюансы и в некоторой степени субъективна (следует ли использовать заголовок и список или список определений? Ответ не всегда черно-белый).

Одно дело - знать, как использовать html и css, но другое - действительно понимать семантику. На мой взгляд, это не так уж и сложно, но непонимание, кажется, сохраняется в ужасающем изобилии.

Я работаю с семантической разметкой и css 8+ часов в день, работая от небольших сайтов до сложных приложений. Я думаю, что относительно легко выучить и понять синтаксис html и css за несколько недель, как вы предложили, но требуется большой опыт и исследования, чтобы добраться до точки, когда действительно можно мыслить абстрактно (с высокой степенью точности ) о том, какая разметка является лучшей, наиболее гибкой и наиболее семантической для данной композиции дизайна, и с какими проблемами кроссбраузерности можно столкнуться с данным дизайном.

Не стоит недооценивать сложность HTML и CSS. Да, им легко научиться, но чтобы овладеть ими, требуется много ума.

Различные подходы к следующим примерам HTML и CSS имеют огромное значение, если вы уже какое-то время в игре.

#header h1 { font-size: 2em; }
<div id = "header">
  <h1>Title</h1>
<div>

и

.title { font-size: 2em; }
<div id = "header">
  <h1 class = "title">Title</h1>
<div>

Выбор того, использовать ли класс или идентификатор, или определять ваши стили нечетко или нет, серьезно повлияет на вашу способность создавать сильные надежные сайты или нет.

Ответ принят как подходящий

«Разве невозможно хорошо выучить HTML и CSS за неделю?»

Одним словом, да.

Можете ли вы написать базовую страницу, выполнив что-то вроде «Изучите html за 24 часа»? Абсолютно. Вы знаете, почему это работает или не работает - вероятно, нет.

«... хороший сброс CSS решает 99% проблем». Возможно. Почему, скорее всего, намного превосходит одна неделя обучения.

  • Поиск общего сброса CSS, который решает 99% проблем - бесплатно
  • Обработка остальных 1% - бесценно!

It is my personal believe that anyone can become an effective HTML/CSS guru in a week or two's study.

Я даже не думаю, что это предложение имеет смысл (не считая вашего замешательства по поводу слова «вера») - когда мы называем людей «гуру», мы имеем в виду кого-то с большими, глубокими знаниями и опытом, кого-то по плечу выше остальных. Если бы кто-нибудь мог стать гуру за две недели, гуру не было бы.

В любом случае, я диагностирую вас как новичка второй ступени: вы прошли определенный уровень и думаете, что овладели предметом. Вам не хватает смирения.

Я бы посоветовал вам продолжать работать в области HTML и CSS, и вы обнаружите множество интересных проблем, которые вы не знаете, как решить; вы обнаружите, что есть очень умные люди, которые решили их интересными способами, о которых вы даже не догадывались; и вы также обнаружите, что существует множество различных способов достижения одной и той же цели - те, которые, как вы знаете, могут быть эффективными, но могут быть гораздо более умные способы оптимизировать, улучшить или упростить ваш HTML / CSS.

Я запишу вас в свой дневник за октябрь 2009 года, и мы посмотрим, как вы себя чувствуете.

Я думаю, что если мы обсуждаем сложность языков HTML / CSS со сложностью языка программирования или фреймворка, это не соревнование. HTML / CSS легко написать, а синтаксис и правила просты для запоминать.

Но, как и в случае с языком программирования, важен не синтаксис, а способ его использования. Попробуйте думать о CSS как о серии правил макета, которые основываются друг на друге, и то, как эти правила построены, во многом зависит от поведения страницы. Хороший разработчик CSS сможет преобразовать макет фотошопа в страницу, которая не только будет хорошо выглядеть, но и будет хорошо себя вести в соответствии с требованиями динамического контента. Задача дизайнера CSS заключается не в написании кода, а в том, чтобы манипулировать элементами дизайна, чтобы сбалансировать функциональное поведение страницы с ее эстетическими требованиями.

Как и любой другой язык, у CSS-дизайна есть свои лучшие практики, методы и шаблоны проектирования (что восходит к тому, почему я вообще спросил мой вопрос).

И что еще более важно, что отличает мужчин от мальчиков (или женщин от девочек) в навыках создания внешнего интерфейса, так это то, насколько хорошо они понимают концепции и механизмы макета браузера, как указано в этот документ. Глубокое понимание модель визуального форматирования - вот где многие люди теряются. Не говоря уже о кроссбраузерности.

Если вы думаете, что это торт, то вам больше силы.

Говоря как новичок: я начал изучать xhtml / css в августе этого года, проводил около 12 часов каждый день в течение одного месяца и сумел собрать свое портфолио, все еще слишком тяжелое, не работающее должным образом в IE - я все еще считаю это тестовым проектом. За 30 дней я узнал, что этого гораздо больше, чем вы думаете, и чтобы быть действительно хорошим в этом, мне нужно гораздо больше, чем две недели!

Как говорили другие, узнать КАК относительно легко, но ПОЧЕМУ требует опыта, а для того, чтобы получить опыт, нужно время.

Интересным сайтом является http://csszengarden.com, где задача состоит в том, чтобы использовать точно такой же HTML и, используя только CSS, изменить страницу, чтобы она выглядела совершенно иначе, чем в других примерах. Стоит посмотреть.

вау, я, должно быть, очень медленный, мне потребовалось около года, чтобы освоить CSS - просто выучить его и обмануть, может быть, пару недель, но действительно знать все тонкости было как год .... слава вам, умники

Чтобы писать кроссбраузерные веб-сайты на основе CSS, требуется довольно большой опыт. Основная причина в том, что по пути вы обнаружите все больше и больше проблем, связанных с браузером. Создавая множество стандартных веб-сайтов, вы научитесь избегать их вообще.

Первым этапом обычно является то, что люди называют «манией div (использование div для 95% вашего контента)», чему можно научиться примерно за неделю для firefox и IE. После этого люди начинают использовать более подходящие теги для своего контента и удалять бессмысленные теги.

После этого этапа люди становятся более опытными в более сложных вопросах, таких как вертикальное центрирование и дизайн формы (ЖЕСТКИЙ для достижения точности пикселей http://www.456bereastreet.com/archive/200409/styling_form_controls/).

Настоящие мастера могут делать все это, а также могут использовать минимальные правила CSS и очень эффективные стратегии изображений, такие как спрайты.

Определенно, чтобы освоить CSS, потребуется больше нескольких недель.

Использование файла сброса или фреймворка означает, что вы можете собрать что-то довольно прочное за это время, но у вас будет очень мало понимания того, почему все это работает, что будет преследовать вас, когда вы столкнетесь с проблемами, не охваченными ваш фреймворк.

... а может я просто извиняюсь за свою некомпетентность ... (тупой IE)

Это действительно зависит от того, какова ваша цель на одну неделю. Вы можете выучить HTML за один день, а выучить CSS - в остальную часть недели.

Чтобы научиться пользоваться топором, требуется всего одна минута, но чтобы научиться вырезать каноэ, требуются годы.

Я занимаюсь этим 11 лет, и это становится все труднее благодаря фреймворкам, пакетным CMS, AJAX и многому другому. Совместимость браузеров - это легкая прогулка по сравнению.

Например, прямо сейчас я работаю над сайтом Drupal с плагином OpenLayers. У меня есть почти 2000 строк CSS, любезно предоставленных этими фреймворками, прежде чем я даже начал делать его похожим на что-то иное, кроме OpenLayers внутри Drupal. Все перегружают друг друга, создавая тонкий набор эпициклов CSS. (Попробуйте настроить кнопку ярлыка в Gmail, чтобы почувствовать вкус.)

Так что да: HTML / CSS - это просто. Я выучил все правила игры за выходные, я уже мастер?

Этот вопрос задавали 6 лет назад, но даже тогда я не думаю, что это правда. Я сравниваю это со сноубордом. Практически любой может встать на ноги и начать делать несколько поворотов после недели занятий. Кривая обучения очень проста. Однако, когда вы овладеете основами, вам потребуются годы и годы практики, прежде чем вы начнете выполнять большие прыжки в 1080.

Точно так же CSS и HTML просты, но я все время все время изучаю новые вещи и придумываю лучшие способы делать что-то.

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