1. JavaScript / Говнокод #18606

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    .first-page-amount span {
      display: block;
    }
    
    .first-page-amount div {
      display: inline-block;
    }

    Хоть и CSS, но наговнокодить и тут можно.

    Запостил: keitoaino, 17 Августа 2015

    Комментарии (107) RSS

    • Span и div настолько аморфны, что из них можно лепить что угодно. В HTML4 ещё думали разделять элементы на блоковые и на строчные и запрещали вкладывать DIV в SPAN. В HTML5 сказали, что хватит это терпеть, представление должно быть отделено от семантики, и любой элемент может быть блочным или строчным. Разделение на блочные и строчные теперь реализуется средствами CSS.

      Теперь можно даже ссылки делать блочными.

      http://css-live.ru/articles/blochnyx-i-strochnyx-elementov-v-html-bolshe-net.html
      Ответить
      • ok, инлайны или блоки можно применять к различным элементам, в том числе и просто поменять наоборот у блоков. Но зачем? Тем более, что эти стили применяются примерно к такой верстке:

        <div class="first-page-amount">
        <span>
        <div>Lorem ipsum</div>
        </span>

        <span>
        <div>Lorem ipsum</div>
        </span>
        </div>
        Ответить
        • Конкретно в данном примере нет никаких объективных причин для того, чтобы менять блоки и инлайны местами. Таки да, проще было вставлять спаны в дивы, тогда бы и CSS был короче.

          А вообще, если нет необходимости экономить считанные байты разметки, в селекторах лучше элементы (теги) не использовать, а присвоить всем элементам классы. Вот так, например:
          <style type="text/css">
          .first-page-amount .outer {
            display: block;
          }
          
          .first-page-amount .inner {
            display: inline-block;
          }
          </style>
          <div class="first-page-amount">
           <div class="outer">
           <span class="inner">Lorem ipsum</span>
           </div>
          
           <div class="outer">
           <span class="inner">Lorem ipsum</span>
           </div>
           </div>

          Тогда будет вообще пофигу, дивы у нас или спаны.
          Ответить
      • Не даже, а только. Div как было запрещено вкладывать, так и осталось.
        Ответить
        • Смотрим в стандарты... В XHTML 1.1 действительно, разделение на блоковые и строковые осталось:
          Heading = h1 | h2 | h3 | h4 | h5 | h6
          Block = address | blockquote | div | p | pre
          Inline = abbr | acronym | br | cite | code | dfn | em | kbd | q | samp | span | strong | var
          Flow = Heading | Block | Inline

          Блоковые можно вкладывать только в div и в blockquote.

          Читаем дальше... Оказывается, к Inline добавляются a, applet, средства выделения, map, object, iframe, а к FLow добавляются dl, ol, ul, hr, формы, таблицы. Подробнее тут: http://www.w3.org/TR/xhtml-modularization/abstract_modules.html

          Теперь смотрим, чё там у HTML5: «Most elements that are categorized as phrasing content can only contain elements that are themselves categorized as phrasing content, not any flow content». Phrasing — это a; abbr; audio; b; bdi; bdo; br; button; canvas; cite; code; data; datalist; del; dfn; em; embed; i; iframe; img; input; ins; kbd; keygen; label; map; mark; math; meter; noscript; object; output; progress; q; ruby; s; samp; script; select; small; span; strong; sub; sup; svg; template; textarea; time; u; var; video; wbr. Отсюда: http://www.w3.org/TR/html5/dom.html#phrasing-content-1

          Действительно, по-прежнему div в span включать нельзя, даже несмотря на то, что средствами CSS их можно поменять ролями.

          Въ Поставил плюс. Но как же так, Карл? Где обещанный перенос представления из HTML в CSS, а HTML только для семантики? У меня такое ощущение, что где-то меня на обманули.
          Ответить
        • > Не даже, а только.
          >> Теперь можно даже ссылки делать блочными.

          Почти любому элементу можно задать стиль dislay:block, display:table-cell и даже display:list-item или что-нибудь более извращённое, но вкладывать div в элемент, который по дефолту строчный, нельзя, даже если в CSS отображение переопределено.

          Например, так можно:
          <a href="http://govnokod.ru/" style="display:block">
              <span style="display:block">Some shit</span>
          </a>

          Но при этом вложить div (даже если у него стиль display:inline) мы не имеем права, а вложить span с display:block можем.

          В чём смысл соблюдения древнего ритуала с иерархией элементов, я не понимаю.
          Ответить
          • В a можно вложить что угодно (кроме самого a). Специально разрешили - раньше было не так.
            В span вложить div всё ещё можно, но код уже невадлиден.
            В р вложить div уже не удастся - правила парсинга не позволят.

            Что касается свойства display, то да, его любое значение можно задать любому элементу. Но вот на разрешение вкладывать элементы друг в друга это не повлияет. Вероятно из-за того, что сначала парсится dom, а потом к нему применяется css.

            Ну и с интерактивными элементами надо быть осторожнее - можно хорошо огрести...
            Ответить
            • > Специально разрешили - раньше было не так.

              В каких стандартах?

              > В р вложить div уже не удастся - правила парсинга не позволят.

              В HTML5, сериализованном в HTML, действительно нельзя из-за автозакрытия тега <p>: http://codepen.io/anon/pen/QbeKjb

              Не то, чтобы нам кто-то запретил, просто тег <p> автоматически закрывается, если после него появляется неинлайновый тег. HTML5/HTML аналогично закрывает и некоторые другие теги (элементы списков, например). Это тянется ещё с какой-то древней версии HTML.

              А при сериализации в XHTML вложить div в p технически возможно, даже браузеры отображают, как ожидается (я проверял). Да, в XHTML div не закрывает p и после </div> элемент p продолжается. Именно поэтому мне больше нравится XHTML.

              > Ну и с интерактивными элементами надо быть осторожнее - можно хорошо огрести...

              С элементами форм вообще всё плохо: разные браузеры по-разному применяют к ним стили и надеяться на хоть какую-то кроссбраузерность будет слишком наивно.
              Ответить
    • По-моему это не совсем жс, а очень даже ксс и место ему в куче
      Ответить
      • Тупанул - не заметил "кучу"...
        Ответить
        • не первый раз прощаем и не будем травить тебя пидаром.

          Кстати, товарищи, вам на почту приходит сообщение о новых ответах? Мне чет не приходит
          Ответить
          • Приходит, только первое оповещение в спам попало 0_0
            Ответить
          • А на почту что-то приходит? О_о Я-то думал, что тут всё по-суровому, почти вакаба, ищи свои ответы сам и всё такое.
            Ответить
            • http://govnokod.ru/user/personal/preferences - вон тут настроечки почты.
              Приходит уведомление об ответе на комментарий пользователя или комментарии к его гк.
              Ответить
    • Кручу-верчу, запутать хочу?

      Код из разряда #define true false... Врагу не пожелаешь...
      Ответить
    • Кэп, обьясни.
      Ответить
      • По-дефолту div блочный элемент с display:block, а span - инлайновый с display:inline (вроде бы inline, а не inline-block). Т.е. чел поюзал их наоборот.
        Ответить
        • Всё верно. Для inline-block нет готового элемента (вроде бы), поэтому всё равно придётся писать правило в CSS.

          Кстати, до сих пор живут чудеса. IMG, например, по умолчанию почему-то ведёт себя как inline, а не как block, но при этом имеет высоту. Отображение IMG ещё может зависеть от доктайпа, если не задать принудительно display:block.
          Ответить
          • > зависеть от доктайпа
            Да от него даже такой ад зависит, как отображение пустых <td />...
            Ответить
        • Где бы изучить основы HTML?
          Ответить
          • http://htmlbook.ru/
            Ответить
          • Самые основы: https://htmlacademy.ru/
            Справочник от мозиллы по html/js/css: https://developer.mozilla.org/ru/ (юзаешь в гугле как "MDN table" или "MDN border-width")
            Ответить
          • А где найти с кем это учить, кому вопросы задавать?
            Ответить
            • занятно, что ты это сам у себя спрашиваешь. Тебе репетитор нужен?
              Ответить
              • Отвечаю на свой вопрос - а куда еще это лепить? Скорее люди, занятые тем же, вместе веселее.
                Ответить
                • А как ты видишь совместное изучение?
                  Ответить
                  • Когда я гамал, знакомые по играм лепили себе говносайты на cms, всегда было с кем посоветоваться.
                    Ответить
                    • в цмс то в чем советоваться? там обычно все предельно понятно
                      Ответить
                      • Да хоть в том, какую брать. Вместе просто прикольнее.
                        Ответить
                        • ну можешь ко мне обращаться. Я сам не очень разбираюсь, мне было бы интересно освоиться
                          Ответить
                          • Kek. А что тебя сейчас интересует?
                            Ответить
                            • ничего конкретного.
                              Вообще я про j читаю
                              Ответить
                              • Можно ради прикола цмс-ки перепробовать. Скажем, бложек себе поднять.
                                Ответить
                                • Че их пробовать? Денвер поставил, закинул заготовку и клепаешь. Премудрости фронтэенда интереснее
                                  Ответить
                                  • Денвер вроде сдох же.
                                    Ответить
                                    • Когда я последний раз это делал он был в моде. А какие эмули сервера нынче в ходу?
                                      Ответить
                                      • И когда я этим занимался - тоже. Вот для этого мне и нужны коллеги :)
                                        Ответить
                                  • Денвер не нужен. Ставь XAMPP.

                                    В идеале, конечно, ставить софт по отдельности, но для разработки XAMPP сойдёт.
                                    Ответить
                                    • На боевом сервере можно конечно и по отдельности, а вот для разработки ты будешь серваки ставить и настраивать вместо того чтобы полезным делом заниматься. Сам залип на хуеву пропасть времени из-за того что не мог настроить рабочий сервер для питона.

                                      Что хорошее было в денвере - он типа русский был.
                                      Ответить
                                      • я не могу понять - ты русских любишь или не любишь? Определись
                                        Ответить
                                        • Это он наверно про русские буквы. Кстати, большой плюс.
                                          Даже не знаю, насколько нужно упороться, чтобы вместо автоматической установки всей питушни с инструкциями и интерфейсами на родном языке выбирать ручную установку и притирку множества иностранной питушни.

                                          А п_идар сам такой же русский, как и остальные посетители ГК. И его конфликт - это не "Россия-Украина" и бред вида "азаза русские напали", а "СССР-Германия", "необразованные русские Ваньки против благородных немецких херров", отрицание собственного я за декорациями еврогейской жизни и противопоставление себя своему народу.
                                          Ответить
                                          • >> "необразованные русские Ваньки против благородных немецких херров"

                                            по-моему еще товарищ Геббельс поставил точку в этом споре

                                            >>Приходишь к горькому выводу, что военное руководство Советского Союза состоит из людей классом выше, чем наше собственное. (Запись от 16 марта 1945 г. из дневника Геббельса)
                                            Ответить
                                            • Ваньки завалили гермашку мясом по принципу "одна собака зила не завалит, 4 - вполне, стоят столько же, а там бабы нарожают" и по пьяни геббельс высрал в дневничок "мы мудаки"?
                                              Ответить
                                          • >Даже не знаю, насколько нужно упороться, чтобы вместо автоматической установки всей питушни с инструкциями и интерфейсами на родном языке выбирать ручную установку и притирку множества иностранной питушни.
                                            Айтишник закукарекал заместо авроры. Русский язык - это плюс, но не настолько большой, как один инсталлятор вместо нескольких + последующего пердолинга.

                                            >русские буквы.
                                            Неужто xampp не поддерживает юникод?

                                            >И его конфликт - это не "Россия-Украина"
                                            >противопоставление себя своему народу.
                                            Это какому же? Моя родина - восток Украины. Долгое время я ошибочно считал себя русским, но время все расставило на свои места.
                                            Ответить
                                            • >> Долгое время я ошибочно считал себя русским, но время все расставило на свои места.
                                              >> 3_14dar
                                              Ответить
                                              • >пидараха
                                                Ответить
                                                • Покатай меня, большая пидараха!
                                                  Ответить
                                                  • Похоже на разговор Стертора с Конардо, который из-за счастливой случайности не состоялся в далёком 2014.
                                                    Ответить
                                                    • Просто я пожрал душу конардо и теперь из меня выходят произведения искусства
                                                      Ответить
                                        • Не путай россию и русский язык.
                                          Ответить
                          • Все еще интересует?
                            Ответить
                            • Почему нет
                              Ответить
                              • Давай контакты.
                                Ответить
                                • В вк мой ник поищи
                                  Ответить
                                  • Но у меня нет вк, я же ананим. Жаббер/мыло устроит?
                                    Ответить
                                    • В душе мыло своё роняй. Чем тебя гк не устраивает? Создан тему в куче.
                                      Ответить
                                      • Там можно будет обсудить чем заняться, например. А почему тебя не устраивает жаббер, но устраивает вк?
                                        Ответить
                                        • Потому что jabber мне нахуй не нужен a vк я музыку слушаю
                                          Ответить
                                          • Ну а что тебе нужно, няша?
                                            Ответить
                                            • Несколько слов и место для шага вперед
                                              Ответить
                                              • Бля, ты будешь или нет?
                                                Ответить
                                                • у меня нет жаббера а почта неудобна. Еще варианты будут?
                                                  Ответить
                                                  • Предлагай. А в чем проблема зарегить? У меня недавно тоже не было.
                                                    Ответить
                                                    • а нах он мне нужен?
                                                      Ответить
                                                      • Предлагай свое. Кроме соцсетей и скайпа.
                                                        Ответить
                                                        • боишься деанона?

                                                          Говнокод, говнофорум
                                                          Ответить
                                                          • Скайп - закрытое говно с ровно одним клиентом, нах он мне? А уведомления на говнофоруме хоть есть?
                                                            Ответить
                                                            • хз
                                                              Ответить
                                                              • Ну и нах он тогда?
                                                                Ответить
                                                                • хватит тратить свое время на херню - создавай уже топик в куче и пиши туда что хотел
                                                                  Ответить
                                                                  • Херня - это твое нежелание быть человеком.
                                                                    Ответить
                                                            • В личке говнофорума уведомлений нет.
                                                              Используйте шифроскрипт. Обменяйтесь ключами да болтайте прямо тут.
                                                              Ответить
                                                              • Один вопрос: НАХУЯ?
                                                                Ответить
                                                                • Чтобы другие не видели, что же вы двое пишете, очевидно же.
                                                                  Ответить
                                                                  • НАХУЯ делать приватный чатик из открытого ресурса (не говоря уже о том, что это - хамство), когда для этого есть IM и емейл?
                                                                    Ответить
                                                                    • Потому, что могу :)
                                                                      Ещё это освобождает от регистрации лишних фэйковых учёток и их проблем (передача IP/передача уникального статуса настоящей учётки в случае клиента с N>1 учёток и т.п.), если надо быстренько что-то обсудить
                                                                      Ответить
                                                                      • >Потому, что могу :)
                                                                        Тебе не надоело еще, дитина? А кто-то другой может все говнокоды утопить. Кстати, а что там было? Кто и как их вернул?
                                                                        Ответить
                                                                        • Таки добавление новых фич и потопление говнокодов - вещи разные.
                                                                          Я же не каждый день скрипты пишу, чему тут надоесть. Захотел - написал, не захотел - не написал.

                                                                          Тёмная история. Возможно, пришёл Страйкер/Люр. Возможно, говнокод всё же поднимается из небытия, если ему поставить много плюсов, и кто-то запустил своих ботов в ответ.
                                                                          Ответить
                                                                          • Еслит ы написал скрипт это еще не значит что он кому-то нужен.
                                                                            Ответить
                                                                            • Слышал про такое. Современники часто не понимали гениев.
                                                                              Ответить
                                                              • Кстати, сам форум у меня не открывается уже несколько дней.
                                                                Ответить
          • кстати

            https://www.codecademy.com/
            Ответить

    Добавить комментарий