Jump to content
  • 0

Подскажите, как можно сверстать такое?


d0ublezer0
 Share

Question

df30cd3de7509c39f57d06b8579fe074.png

Задача - верхняя полоса и сами кнопки-переключалки - резиновые

У меня как-то получается очень много вложенных вспомогательных элементов.

Для меня это оказалось то ли слишком сложно, то ли я уже устал..

Не прошу верстать за меня, просто подкиньте идею, как лучше сделать?

Link to comment
Share on other sites

23 answers to this question

Recommended Posts

  • 0
а верхняя полоска каким образом резиновая?

По всей ширине страницы.

На самом деле резиновая правая часть (хвост) должна остаться до края родительского элемента

Link to comment
Share on other sites

  • 0

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

Активная вкладка должна быть с подложкой. Вот этого и пытаюсь добиться

Link to comment
Share on other sites

  • 0

Я на 95% уверен, что тут есть похожее меню http://www.cssplay.co.uk/menus/ но искать нет времени, посмотрите

Честно - не нашел.

121990, слишком современно

warobushek, опять же - элементы.

Попробую сам.

Link to comment
Share on other sites

  • 0
Может выложишь способ?

Хм. Так он в общем-то на странице. Ссылка выше

Я использовал трюк с overflow:hidden для последнего пункта списка, который был создан специально для растяжения.

UPD: Надо отметить что это (последний пустой пункт списка) не сработало в IE8

Edited by d0ublezer0
  • Like 1
Link to comment
Share on other sites

  • 0
А почему бы просто не положить белую полоску фоном на ul

По замыслу дизайнера верхняя полоска должна заканчиваться скругленными уголками слева и справа. Это можно увидеть, убрав у первого пункта списка класс active (для последнего еще не сделал)

И да, менюшка должна быть прозрачной. Там какой-то цветной фон будет.

Edited by d0ublezer0
Link to comment
Share on other sites

  • 0

Я бы делал как (рассказываю на схеме ul+li):

1) Для ul делаем полностью заливку всего этого синего фона градиентного (насколько я вижу по картинке можно это сделать на CSS через градиенты и скругление сверху);

2) Для li делаем background: white, а для активного пункта меню делаем background: transparent.

3) Для создания косых скруглённых линий нарезаем левую и правую части в PNG (чтобы белый цвет косой скруглённый накладывать) и через :before и :after делаем наложение сверху на активную li (хотя этот способ с вероятностью в 95% может не сработать в IE8, у него проблемы с этим, если нужна его поддержка, то придётся наложением этих частей делать через две дивки внутри li).

Вот как-то собственно и всё.

Link to comment
Share on other sites

  • 0

Вот за border-radius у UL спасибо, а то я что-то ступил и пытался через :before и :after отдельной картинкой делать.

А в остальном ваши вариации не выдерживают задачу оформления: меню должно быть прозрачное везде, где оно без синего градиента. Т.е. белой заливки быть не может.

Link to comment
Share on other sites

  • 0
А в остальном ваши вариации не выдерживают задачу оформления: меню должно быть прозрачное везде, где оно без синего градиента. Т.е. белой заливки быть не может.

В смысле должен быть виден фон страницы (или что-то типа такого)?

Тогда делаем так:

1) В ul делаем верхнюю полосу картинкой, делаем border-radius;

2) Активному li делаем картинкой фон (градиенты не подойдут).

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

Вуаля, под задачу оформления всё выдерживает.

Link to comment
Share on other sites

  • 0
Вуаля, под задачу оформления всё выдерживает.

Опять мимо. :)

В чем ошибка на этот раз: если горизонтальная полоска картинкой положена фоном в ul и при этом мы имеем "прозрачные" li (при этом допускаем, что активная li имеет цветную заливку, но не забываем о том, что заливка фигурная, скошенная) получается, что за первым li-элементом всегда будет видно фон от ul (а последний li-элемент нам до фени, он никогда не будет прижат к правому краю).

Добавил фон, чтобы было понятно, как ведут себя вкладки.

Прошу обратить внимание на реализацию на странице. Ну всё же уже сделано. Есть косяки с отступами, но это черновая версия, показать технику.

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

Прикручивать скрипты для смены классов - лениво.

Edited by d0ublezer0
Link to comment
Share on other sites

  • 0
если горизонтальная полоска картинкой положена фоном в ul и при этом мы имеем "прозрачные" li (при этом допускаем, что активная li имеет цветную заливку, но не забываем о том, что заливка фигурная, скошенная) получается, что за первым li-элементом всегда будет видно фон от ul

"за первым li-элементом" - это до или после первого li элемента? Хотя я в любом случае не вижу никаких проблем всё настроить через margin как для li, так и для псевдоэлементов li.

Плюс в моей реализации не будет проблем со скачущим левым верхним углом.

Link to comment
Share on other sites

  • 0

Прям так и хочется воскликнуть "Чем дакажищь?" (с)

это до или после первого li элемента?
под ним
Плюс в моей реализации не будет проблем со скачущим левым верхним углом.

Это поправимо и у меня. Еще раз повторюсь, делал на коленке.

А если серьезно: будет время - накидай, посмотрим.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Mondeus
      Доброго всем времени суток. Прошу помощи. Научите принципу изменения футера. Движок Xenforo. Версия 2.2.10. Стиль дефолтный. Что именно нужно в итоге на фото примере. Мой шаблон app.footer less имеет следующее значение. 
      .p-footer { .xf-publicFooter(); a { .xf-publicFooterLink(); } } .p-footer-inner { .m-pageWidth(); .m-pageInset(); padding-top: @xf-paddingMedium; padding-bottom: @xf-paddingLarge; } .p-footer-row { .m-clearFix(); margin-bottom: -@xf-paddingLarge; } .p-footer-row-main { float: left; margin-bottom: @xf-paddingLarge; } .p-footer-row-opposite { float: right; margin-bottom: @xf-paddingLarge; } .p-footer-linkList { .m-listPlain(); .m-clearFix(); > li { float: left; margin-right: .5em; &:last-child { margin-right: 0; } a { padding: 2px 4px; border-radius: @xf-borderRadiusSmall; &:hover { text-decoration: none; background-color: fade(@xf-publicFooterLink--color, 10%); } } } } .p-footer-rssLink { > span { position: relative; top: -1px; display: inline-block; width: 1.44em; height: 1.44em; line-height: 1.44em; text-align: center; font-size: .8em; background-color: #4682B4; border-radius: 2px; } .fa-rss { color: white; } } .p-footer-copyright { margin-top: @xf-elementSpacer; text-align: center; font-size: @xf-fontSizeSmallest; } .p-footer-debug { margin-top: @xf-paddingLarge; text-align: right; font-size: @xf-fontSizeSmallest; .pairs > dt { color: inherit; } } @media (max-width: @xf-responsiveMedium) { .p-footer-row-main, .p-footer-row-opposite { float: none; } .p-footer-copyright { text-align: left; padding: 0 4px; // aligns with other links } }  

    • By Mix9
      есть див с 5 img, при уменьшении экрана див выходит за него. Я добавил overflow: auto для этого div в надежде на то, что я смогу прокручивать фотки с помощью скроллбара, однако даже с ним почему-то я не вижу часть фоток которые вышли за границу. Что с этим можно сделать? класс video повторяется 5 раз, я тут оставил только 1 
      .content{ width: 90%; background-color: #333; } .video{ margin: 0px 4px 0px 4px; width: 310; display: flex; flex-direction:column; } .video_button_text{ margin-top: 10px; display: flex; flex-direction: row; font-size: 20px; color: white; } .video_text_div{ display: inline-block; width: 250px; } .video_text{ text-align: justify-all; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .slidan_videos{ margin: 0px 10px 0px 20px; overflow: auto; width: auto; margin-bottom: 50px; display: flex; flex-direction: row; justify-content: space-around; } <div class="content"> <div class = slidan_videos> <div class = video> <div> <a href = 'ссылка'><img class="img" src=""картинка"></a> </div> <div class = video_button_text> <div class = avatarka_div> <a href="ссылка" target="_blank"><img class = avatarka src="картинка"></a> </div> <div class = video_text_div> <p class = video_text><a href="ссылка">текст</a></p> </div> </div> </div>
    • By Andy_Code
      Здравствуйте! Проблема заключается в следующем: есть стартовый шаблон от "Фрилансера по жизни" версии 2021 года, открываю в VSCode, ввожу в терминале npm i затем gulp, все срабатывает как и должно, создается папка с результатом, начинаю прописывать стили для header, задаю ограничивающий контейнер и при проверке работоспособности данного контейнера выясняется, что стили, прописанные мной перекрывают стили медиа-запросов, прописанных в шаблоне и по итогу адаптив не работает, получается что итоговый css собирается в не правильном порядке! Подскажите, пожалуйста, как подобную проблему можно исправить?)
    • By vladdvin
      Верстаю макет с Фигмы - https://www.figma.com/file/2rdy1qjBTl7D6BAC8S4qlf/Webovio?node-id=0%3A1. Наверстал
      CSS
      В результате отображается следующая картинка

      в режиме инструментов разработчика. А вне режима вообще отображает

      Подскажите как добиться отображения текста как на макете.
    • By RaiderCoder
      Здравствуйте , сделал макет сайта для интернет магазина . Но столкнулся с проблемой при верстке кнопок на главной странице и не нашел информации как можно уместить текст + несколько картинок в одну кнопку. Знает кто решение и реалезуемо оно вообще ?

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy