Jump to content
  • 0

Как сделать чтобы при hover над картинкой появлялся блок?


Temik2704
 Share

Question

Господа,я новичок,поэтому сильно ногами не бейте.

Задание:

Сделать список мультфильмов как показано на картинке:

91nMrEmVbr0.jpg

Т.е. при наведении мышки над картинкой появляется еще год в правом верхнем углу,и полное название мультфильма на русском и англ.

Мой код:

http://cssdesk.com/vN3W8

Не понимаю как сделать так чтобы при наведении над картинкой отобразился блок с годом

или блок с полным именем мультфильма,при этом блок только с русским названием мультфильма - исчезал.

Понимаю что делать надо через hover - но как,подскажите?

Да и вообще прокомментируйте пожалуйста код.Мне кажется что я очень сильно тут намудрил.

Заранее спасибо!

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

Извините,забыл сказать что условием было сделать это через <ul> <li>,мне подсказали что ключевые блоки должны выглядеть вот так:

<a href="#">

<span class="date">2011</span>

<img src="" alt="" />

<span class="1-element"></span>

<span class="2-element"></span>

</a>

Но у меня получается не совсем то.

Мой пример

1.Как сделать так чтобы от первой картинке до границы слева не было такого большого простанства?

2.Почему при заданном ul li relative тег span с абсолютным позиционированием не хочет нормально работать?1-element отображается как простой текст без фона,хотя он задан.

3.Как сделать так чтобы позиционирование date было задано абсолютно относительно картинки?(непонятно относительно чего он позиционируется.Хотя вроде как ul li выставлено relative.Я не могу задать ему с помощью команд top:0 right:0 чтобы он был в верх-правом углу картинки.)Задать тегу Li ширину и высоту картинки?Пробовал,не получается.

Link to comment
Share on other sites

  • 0

1. Название классов не должны начинаться с цифр (такие классы поддерживает только IE). Таким образом, из-за цифр в начале, на спаны не действует ни одно из правил, вообще. Замените класс 1-element на любой другой и все заработает (появится фон, позиционирование и т.д.)

2. Тегу li задан display:inline и ширина с высотой :facepalmxd:Вы в курсе, что высота и ширина действует только на блочные элементы и строчно-блочные?

3. И так далее...

Edited by Bassline
Link to comment
Share on other sites

  • 0

1. Название классов не должны начинаться с цифр (такие классы поддерживает только IE). Таким образом, из-за цифр в начале, на спаны не действует ни одно из правил, вообще. Замените класс 1-element на любой другой и все заработает (появится фон, позиционирование и т.д.)

2. Тегу li задан display:inline и ширина с высотой :facepalmxd:Вы в курсе, что высота и ширина действует только на блочные элементы и строчно-блочные?

3. И так далее...

http://cssdesk.com/L9hvR

И все равно непонятно,относительно чего позиционируется span.Должен относительно li.А получается непонятно от чего.Например почему при задании команд top:0 right:0 блок date не отображается в правом верхнем углу картинки?

И вообще почему перестал при наведении отображаться дата и 2ой элемент?

Помогите пожалуйста.

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

Edited by Temik2704
Link to comment
Share on other sites

  • 0

И все равно непонятно,относительно чего позиционируется span.

Относительно li он и позиционируется. Но, повторюсь, тегу li задан display:inline, а это значит, что тег стал строчным, то есть его высота сейчас равна высоте шрифта, а не, например, картинки. Вот и подумайте, относительно чего сейчас позиционируется span.

Link to comment
Share on other sites

  • 0

И все равно непонятно,относительно чего позиционируется span.

Относительно li он и позиционируется. Но, повторюсь, тегу li задан display:inline, а это значит, что тег стал строчным, то есть его высота сейчас равна высоте шрифта, а не, например, картинки. Вот и подумайте, относительно чего сейчас позиционируется span.

Получается относительно пустой строки?Как можно задать span чтобы он позиционировался относительно картинки?Убрать inline и воспользоваться float?

И про промежуток слева который висит и не убирается margin`ом - скажите пожалуйста,отчего он появился?

Edited by Temik2704
Link to comment
Share on other sites

  • 0

И про промежуток слева который висит и не убирается margin`ом - скажите пожалуйста,отчего он появился?

Это не margin, а padding. Вы маркеры скрыли, а промежуток, который для них отводился, остался.

p.s.

Поставьте плагин Firebag на Firefox, научитесь им пользоваться, и тогда всех этих вопросов не будет возникать.

Edited by Bassline
Link to comment
Share on other sites

  • 0

И про промежуток слева который висит и не убирается margin`ом - скажите пожалуйста,отчего он появился?

Это не margin, а padding. Вы маркеры скрыли, а промежуток, который для них отводился, остался.

p.s.

Поставьте плагин Firebag на Firefox, научитесь им пользоваться, и тогда всех этих вопросов не будет возникать.

Вроде со всем разобрался,остался только маленький штришок.

http://cssdesk.com/L9hvR

Почему теперь расстояние от левой картинки до левого края меньше чем от правой картинки до правого края?

P.s.Спасибо что помогает новичку!

Link to comment
Share on other sites

  • 0
Почему теперь расстояние от левой картинки до левого края меньше чем от правой картинки до правого края?

добавьте

.parent ul {padding-left: 2px;}

Потому, что не закрыт тег li у последнего пункта

вообще у всех li не был закрыт!!!

Edited by spdif
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 Five
      Как можно поднять фиолетовый блок (находится в MAIN) вверх , чтобы он заполнил верхнюю прозрачную часть заднего плана HEADER-а?
      Свое образный переход будет... 

    • By Etaro
      Я не понимаю, в чём проблема в вертикальном выпадающем меню. Где я мог напортачить? Нужно сделать, чтобы колонки были по вертикали, а не по горизонтали.


    • By IT Курсы Avenue
      IT - Avenue – курсы программирования в аудиториях и онлайн.
      Реальный выпускной проект и подготовка к трудоустройству!
       
      Avenue – современный центр подготовки IT-специалистов. Наши курсы – настоящая пошаговая инструкция о том, как стать крутым IT-специалистом и зарабатывать в $!

       
      Направления:
      Программирование (Java, PHP, Python, Scala, C++, C#, Javascript)
      Веб-разработка
      Разработка игр на Unreal Engine
      Мобильная разработка: Android, iOS (Swift)
      Робототехника
      Blockchain
      Дизайн: графический и Web-дизайн
      Тестирование: Тестирование ПО и Автоматизированное тестирование
      Разработка сайтов: интернет-магазины, CMS Wordpress, HTML+CSS
      Маркетинг: SMM, Интернет-маркетинг, контекстная реклама
      IT и администрирование: проектный менеджмент, IT –рекрутинг
      Excel (Продвинутый уровень – работа с формулами)

       
      Почему именно IT Школа Avenue?
      Обучение на практике.
      Независимо от курса, мы обучаем студентов ТОЛЬКО на практике! Искренне верим в догму практического применения знаний и предпочитаем «закреплять на практике» все приобретённые навыки.
      Преподаватели – реальные айти-шники, маркетологи и менеджеры.
      Первое правило эффективного обучения – компетентный специалист. Мы не сотрудничаем с преподавателями ВУЗ-ов и со специалистами, чей суммарный опыт работы в IT менее 5-ти лет. Главная цель IT Avenue – подготовка квалифицированных кадров для IT-компаний, которые готовы к решению рабочих задач сразу после выпускного.
      Обучение «с нуля»
      Учебная программа (независимо от курса) рассчитана на новичков, которые хотят освоить профессию «с нуля». Совершенно не стоит переживать за уровень своих начальных знаний. Даже если вы никогда не открывали среду разработки – наши преподаватели помогут вам разобраться во всех тонкостях новой IT-профессии.
      Единственное обязательное условие – желание обучится чему-то новому!
      Онлайн сертификат и помощь в трудоустройстве.
      Абсолютно все студенты получают на руки сертификат фирменного образца и его онлайн-копию, которую можно прикрепить к своему резюме.
      После окончания курса каждый студент получит уникальную возможность пройти 2-х часовой Интенсив по трудоустройству, на котором опытный рекрутер расскажет об ошибках на первом собеседовании; о том, что такое Качественное резюме и об общих правилах собеседования в IT-компании.
      Реальный финальный проект
      Каждый курс предполагает создание Финального Проекта. Финальный проект – это программа, написанная на одном из языков программирования, созданный студентом сайт, дизайн интерфейса или маркетинговая стратегия продвижения. На последнем занятии студенты вместе с преподавателем регистрируются на сервисах создания онлайн-портфолио и размещают туда свой первый учебный проект, который будет свидетельствовать о профессиональной компетентности студента.
      С нами не будет легко
      Да, мы можем использовать маркетинговый ход и написать «Стать программистом за пару недель? Легко, вместе с нами!», но мы хотим быть честными со своими студентами!
      Стать программистом трудно, но возможно! Вам придется: много учится, добросовестно выполнять домашние задания и повторно обрабатывать материал дома. Следуя всем нашим инструкциям и заданиям, вы будете готовы к реальному трудоустройству на 100%!
      Формат и условия обучения:
      занятие 2 раза в неделю по 2 часа в вечернее время: с 19:30 до 21:30 (дни занятий определяет группа)
      возможны разные варианты оплаты: «Оплата одним платежом» и «Оплата частями»
      возможность использовать учебный ноутбук
      кофе-бар для студентов IT Avenue
      Контакты:
      наш телефон: 8 917 552 03 33
      наш сайт: it.avenue-pro.ru
    • By wavelolmu
      Всем привет!

      Мне нужно сделать горизонтальное меню посередине страницы. Я его сделал и через <ul>, при этом width 100% и margin 0, но почему-то слева возник отступ от края страницы. Градиент на заднем плане - это background-image, и там болжны быть белые отступы, потому что картинка такая, а отступ у меню быть не должен..
      Не подскажите, как это исправить?  Код и скриншоты прилагаю.
       
      <body> <div class="topnav"> <ul> <li ><a href="default.asp" id="first">Л1</a></li> <li><a href="news.asp" id="second">Ф2</a></li> <li><a href="contact.asp" id="third">С3</a></li> <li><a href="about.asp" id="fourth">О4</a></li> </ul> </div> </body> body { background-image: url("https://sun1-20.userapi.com/c830108/v830108125/1c35a9/gYiNRO0w7sw.jpg"); background-size: cover; } .topnav { margin: 0 auto; } ul { list-style-type: none; position: absolute; margin: 0 auto; margin-top:23.5%; padding: 0 ; overflow: hidden; height: 83px; width: 100%; } li { float: left; display: inline; } li a { display: block; text-align: center; padding: 24px 34px; }  

    • By GrowStay
      Здравствуйте, у меня такая проблема. Я хотел сделать скролируемое меню с ссылками на ресурс. Написал команду, и т.д. Выучил только теги html, к CSS (или как там) даже не прикасался. Так как сделать скролируемое меню с ссылками, если это вообще возможно. Объясните пожалуйста. 
×
×
  • 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