Я пытаюсь показать image
(логотип компании 150 x 100 px) в text:hover
на имя пользователя. Изображение должно отображаться справа от имени.
Я не знаю, могу ли я решить его с помощью CSS3, или мне нужен какой-то jQuery для этого - что я бы не хотел.
Есть идеи?
Мой HTML
<div class="supplier_box_top">
<p class="name">Company Name</p>
<p class="city">Country</p>
<p class="info" ><a href="#" target="_blank" id="1" class="show_info_box">nfoBox</a></p>
<p class="site_link"><a href="javascript:void(0)">www.your-company.com</a></p>
</div>
Если <img>
помещается после имени компании .name
, тогда вы можете использовать смежные селекторы s a + b
или general a ~ b
для отображения изображения:
img.logo {
display: none;
}
.name:hover ~ img.logo {
display: inline;
}
Однако вы можете поместить изображение в один и тот же абзац и использовать следующее:
<p class="name">Company Name <img src="" /></p>
.name {
position: relative;
}
.name img {
position: absolute;
left: 100%;
display: none;
}
.name:hover img {
display: inline;
}
Это можно легко сделать с помощью CSS3:
.name:hover::before {
content: url(your_image_url.jpg);
float: right;
}
Примечание: путь к изображению относительно файла CSS
Это самое основное решение. Изображение будет плавать название компании с правой стороны. Вы хотите более сложный стиль?
Однако, если вы хотите поддерживать IE7 и старше, вы должны добавить изображение традиционным способом и hover
же, как в приведенном выше примере, например:
HTML:
<div class="supplier_box_top">
<p class="name">
<img class="company_image" src="my_image.jpg">
Company Name
</p>
<p class="city">Country</p>
<p class="info" ><a href="#" target="_blank" id="1" class="show_info_box">nfoBox</a></p>
<p class="site_link"><a href="javascript:void(0)">www.your-company.com</a></p>
</div>
CSS:
.name .company_name {
display: none;
}
.name:hover .company_name {
display: block;
float: right;
}
::before
)