#css
#css
Вопрос:
У меня есть меню перед каждым меню, и перед каждым li у меня есть изображение, иллюстрирующее меню.
Мой код: http://jsfiddle.net/dtjmsy/7UHxa/2 /
<div>
<ul>
<li><a href="">
<img width="40" height="14" src="http://img11.hostingpics.net/pics/902607libkgd.png" alt="li_bkgd">Example menu 1</a></li>
</ul>
</div>
Мой вопрос в том, как мне расположить текст поверх изображения?
Спасибо за вашу помощь
Ответ №1:
Используйте image
в качестве фонового изображения элементов списка.
Согласно вашим комментариям, я получил ваше требование. Итак, вот решение и его объяснение.
1- Вам нужно показать изображение под текстом. Поэтому в нижней части элемента должно быть немного места li
. Для этого мы должны использовать заполнение внизу.
2- Поскольку вам также необходимо использовать фоновое изображение, чтобы изображение, но положение фонового изображения по умолчанию не было задано так, как вы хотите. Так что вам тоже нужно с этим поиграть.
Вот ваш css
#menu li
{
background :url('http://img11.hostingpics.net/pics/902607libkgd.png') no-repeat;
background-position:0px 10px; // 0px from the left and 10px from the top
padding:0px 0px 10px 10px; // 10px padding from the left and bottom to shift the text according to image position
}
Комментарии:
1. Привет, я тоже пробовал, то же самое, как бы мне расположить точное начало текста поверх изображения
2. Привет, Сачин, я бы хотел, чтобы текст был чуть выше затмения, чтобы я мог видеть всю картинку, спасибо.
3. Привет, Сачин, что-то вроде этого img11.hostingpics.net/pics/659256eclipsetext.jpg
4. Привет, Сачин, это именно то, что я хочу, большое спасибо, я пытаюсь понять ваш css, код background-position: 0px 10px; это переместить фон вниз на 10 пикселей, верно?, но я не очень понимаю отступы: 0px 0px 10px 10px;
5. Спасибо Сачину и всем вам. С уважением
Ответ №2:
Просто измените свой стиль, как показано ниже
#menu {
list-style-type:none;
}
#menu li {
background :url('http://img11.hostingpics.net/pics/902607libkgd.png') no-repeat;
background-position:bottom left;
height:30px;
padding-left:15px;
}
Надеюсь, это должно сработать..
Ответ №3:
Ваш HTML:
<div id="menu">
<ul>
<li><a href="#">Example menu 1</a></li>
</ul>
</div>
И пример CSS:
#menu li
{
background :url('example.png') no-repeat;
background-position: left 1px top -1px;
}
Также вы можете использовать различный фон для каждого элемента:
#menu li:first-child
{
background :url('example.png') no-repeat;
background-position: left 1px top -1px;
}
Также :last-child
и nth-child(2)
выбирает каждый <li>
элемент, который является вторым дочерним элементом его родителя