Jump to content
  • 0

Вставка генерируемого содержимого :before


Delat
 Share

Question

a[href*="russian.html"]:before {background: url(bullet2.png) no-repeat; border:1px solid black;}

если убрать из кода псевдоэлемент :before то картинка появится, но мне не хочется добавлять 0 6px padding-left: 15px. чтобы она стала слева перед ссылкой.

Почему маленькая картинка перед ссылкой не отображается?

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0


a:before {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 0.25em;

content: "";

background: url(bullet2.png);
border: 1px solid black;
}

не мой, ни ваш пример не работает в IE9, к тому же необходимо вставить картинку только для ссылки с значением

"russian.html"

Link to comment
Share on other sites

  • 0

Вообще зачем мне это надо? Я хочу научиться создавать многоуровневое меню, например как на этом сайте http://www.pexsupply.com/, конкретно для своего подопытного http://prodpak.ru ссылки меню "Продукция". Может быть я не с того начал изучение, кто нибудь может подсказать структурный подход к такому мастерству?

Link to comment
Share on other sites

  • 0

Средства разработчика + справочники: http://htmlbook.ru/html и http://htmlbook.ru/css (либо любые другие, на ваш вкус).

Конкретно в данном случае по поводу генерируемого контента: http://htmlbook.ru/css/before и http://htmlbook.ru/css/content

не мой, ни ваш пример не работает в IE9

Если что-то не работает, выкладывайте на http://jsfiddle.net

Пример klierik'a работает: http://jsfiddle.net/Cath_kb/GZtwK

Link to comment
Share on other sites

  • 0


a:before {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 0.25em;

content: "";

background: url(bullet2.png);
border: 1px solid black;
}

я несколько модифицировал этот пример и у меня получилось что нужно:


a[href*="russian.html"]:before {
display: inline-block;
margin-right: 0.25em;
content: url("bullet2.png");
/*background: url(bullet2.png);*/
/*border: 1px solid black;*/
}

Link to comment
Share on other sites

  • 0

не мой, ни ваш пример не работает в IE9, к тому же необходимо вставить картинку только для ссылки с значением

"russian.html"

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

у меня нет IE9, но опираясь на статью: http://htmlbook.ru/css/before он там точно работать будет.

так что предпологаю проблема только у тебя.

Да и я привел более обобщенный пример без завязки на страницу.

Ну уж коль пошлая такая тема, то такой вариант у меня работает в Chrome (в ИЕ9 работать тоже будет)


a[href^="#"]:before {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 0.25em;

content: "";

background: url(bullet2.png);
border: 1px solid black;
}

Link to comment
Share on other sites

  • 0

может я что-то не понимаю, но в моей версии IE 9.0.8112.16421 картинка не отображается перед ссылкой. Уже несколько раз перечитал все.

Вот с этим кодом получается то, что нужно и отображается везде кроме IE 9.0.8112.16421:


a[href*="russian.html"]:before {
display: inline-block;
margin-right: 0.25em;
content: url("bullet2.png");
/*background: url(bullet2.png);*/
/*border: 1px solid black;*/
}

Результат: y2lRH1UA.png и это то, что мне нужно.

А вот с этим кодом (также, отображается везде кроме IE 9.0.8112.16421):


a[href^="russian.html"]:before {
display: inline-block;
width: 16px;
height: 16px;
margin-right: 0.25em;
content: "";
background: url(bullet2.png);
border: 1px solid black;
}

Результат: 7zNBO7YS.png

тем не менее, спасибо всем за помощь! А можно как-то проверить этот код онлайн, скажем во всех версиях IE?

Link to comment
Share on other sites

  • 0

Результат как раз такой как и должен быть.

Ты, видимо, не совсем полностью понимаешь что ис себя представляют :before :after, иначе бы уже подправил размеры (16px) под свои нужды.

С другой стороны, если ты нашел решение которое у тебя работает - используй его!

можно во всех через: browsershots.org

или IECollection

Link to comment
Share on other sites

  • 0


background: url("bullet2.png") no-repeat;

Подробнее по ссылке:

http://htmlbook.ru/css/background

И удалить еще одно лишнее свойство (раз на первой картинке именно то, что нужно). Настоятельно рекомендую понять, что делает КАЖДАЯ строка, читайте http://htmlbook.ru/css

в ИЕ код тестирую при помощи средств разработчика. В большем необходимости в последнее время не испытываю. Подготовка рабочего места к тестированию в разных браузерах: http://habrahabr.ru/post/123019/

Link to comment
Share on other sites

  • 0

Подготовка рабочего места к тестированию в разных браузерах: http://habrahabr.ru/post/123019/

Отличная статья! Как для начинающего разработчика, работающего в среде Windows, будет самое оно.

Хотя я дочитав до

сразу отпадают из-за специфического набора необходимого мне инструментария — под MacOS, например, нет всего необходимого программного обеспечения для работы с Ruby проектами более проблематично поднять все необходимые версии браузеров, а в Linux как известно, нет всеми нами любимого Photoshop, используемого для нарезки макетов.

прокрутил ниже и первый же коментарий уже рассказал то что у меня на уме :)

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 garmoni
      Здравствуйте. Появилась проблема при верстке по сетке Bootstrap. 

      <div class="col-xs-12 col-md-6>текст1</div>
      <div class="col-xs-12 col-md-6>текст2</div>

      текст2 находится не справа от текст1, а снизу

      Такая же проблема с before. текст в списеке снизу before, а не справа
      Помогите разобраться 
      <body> <div class="container-fluid"> <div class="meny"> <div class="row"> <a name="top"></a> <div class="col-xs-12"> <nav> <ul class="list-menu"> <li><a href="#top">Главная</a></li> <li><a href="#skills">Навыки</a></li> <li><a href="#portfolio">Портфолио</a></li> <li><a href="#contacts">Контакты</a></li> </ul> </nav> </div> </div> </div> <div class="meny-arrow"></div> <div class="contents"> <article> <div class="row height-vh"> <div class="col-xs-12 col-md-6 center top-text"> <div class="name"> текст1 </div> </div> <div class="col-xs-12 col-md-6 top-text"> <div class="about"> <p>текст2 </p> </div> </div> </div> </article> <div class="row skills height-vh"> <a name="skills"></a> <h2>Практические навыки</h2> <div class="col-xs-12 col-md-6 list-skills"> <ul> <li><h4>HTML</h4></li> <li><h4>CSS</h4></li> <li><h4>HTML</h4></li> <li><h4>HTML</h4></li> </ul> </div> <div class="col-xs-12 col-md-6"> </div> </div> </div> </body> * { padding: 0; margin: 0; } body { font-family: 'PT Sans', sans-serif; } nav { background: #006589; padding: 15px; box-shadow: 0 0 10px rgba(0,0,0,1); height: 100vh; } .list-menu{ list-style: none; } .list-menu li a{ color: #fff; display: block; padding: 5px 15px 0 0; font-size: 24px; text-decoration: none; } /*.list-menu li a:hover{ background: #4db6f4; }*/ .height-vh { height: 100vh; } .indent { padding: 20px; } .center { text-align: center; } .top-text { margin: 40px; } .name { } .about { font-size: 18px; } .skills { background: #f0f0f0; } .list-skills ul { list-style: none; } .list-skills li:before { content: url(../images/inputs.png); display: inline-block; } .fleft { float: left; } .fright { float: right; }  
    • By mrfrunze
      добрый день, прописываю следующий код 
      .navbar-nav > li:last-child:after
      Вопрос можно ли так прописывать ? Хочу задать стили для последнего элемента A > after
      сайт http://mymoda.com.ua/- верхнее меню,
      у  Мужчины - нет вертикальной черты и последнего элемента Дети тоже нет вертикальной черты - как эти элементам задать через псевдо-селектор стили?
      приложил скрин http://prntscr.com/ac7y60
      Спасибо.
    • By Delagardi
      Здравствуйте,
       
      В ближайшее время я наверное вас замучаю. Мой первый вопрос будет касаться размещения border в псевдоэлементах.
       
      Хочу заверстать вот это меню 
       
      Здесь у кнопок двойная граница (серая и черная). Моей основной проблемой сейчас является разделение кнопок. Пытался сделать с помощью box-shadow, border etc, ничего не получилось. Т.к. разделение кнопок получается суммой двух border, что неправильно.
       
      Теперь решил раздвинуть кнопки между собой margin'ом и вставить туда с помощью псевдоэлемента border.
       
      Не могу понять почему он становиться ПОД кнопкой. Подскажите, пожалуйста. И вообще, моя стратегия решения верна или есть какая-то альтернатива?
       
      Код - http://jsfiddle.net/Lyo0fhk3/
    • By Delagardi
      Здравствуйте,
       
      В ближайшее время я наверное вас замучаю. Мой первый вопрос будет касаться размещения border в псевдоэлементах.
       
      Хочу заверстать вот это меню 
       
      Здесь у кнопок двойная граница (серая и черная). Моей основной проблемой сейчас является разделение кнопок. Пытался сделать с помощью box-shadow, border etc, ничего не получилось. Т.к. разделение кнопок получается суммой двух border, что неправильно.
       
      Теперь решил раздвинуть кнопки между собой margin'ом и вставить туда с помощью псевдоэлемента border.
       
      Не могу понять почему он становиться ПОД кнопкой. Подскажите, пожалуйста. И вообще, моя стратегия решения верна или есть какая-то альтернатива?
       
      Код - http://jsfiddle.net/Lyo0fhk3/
    • By Guard
      Привет.
       
      Есть горизонтальное меню.
      Как после каждого пункта меню вывести точки, как тут:
       

       
      Если кому нужна картинка точек.
×
×
  • 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