Автор Тема: помощь в создании визуальной кнопки!  (Прочитано 926 раз)

03 Июль 2015, 13:17:54
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет, захотел разместить у себя на сайте красивенькую кнопку, вот только стрелочки уж совсем не красивые, как то даже не подходят...Нашел стрелочку которая мне нравиться, но не знаю как ее запихнуть. Я так понимаю у меня стрелочки как текстовый символ.
Запихаю через content: "\21e8"; но как вставить символ(или стрелку) который мне нужен?

Вот кнопки:


А вот та стрелочка:
03 Июль 2015, 13:53:07
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 105673
  • Репутация: +39553/-0
    • Просмотр профиля
    • Webstudio UwK
Измените стиль для иконки стрелки в файле global.css
.icon-chevron-right {
    background-image: url(../img/mybg.gif);
}
Cоздание интернет сайтов Webstudio UwK
03 Июль 2015, 14:26:30
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Устанавлиаете Firebug. Открываете страницу, нажимаете F12, выделяете кнопку.
Справа увидите файл и правила стилей, которые применяются к этой кнопке.
Меняете content на background. Можно тестировать прямо в браузере (только закачайте иконку для фона на сервер в папку /themes/default-bootstrap/img/).
08 Июль 2015, 12:04:46
Ответ #3
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо, Ваши советы помогли..но оказалось не все так просто. Сейчас столкнулся с новой проблемой:
В хроме стрелочки показывает нормально а вот в мозиле их нет. Есть соображения, что конкретно мозила не понимает?

Хром:


Мозила:
08 Июль 2015, 12:29:57
Ответ #4
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Какие стили у кнопки? Что добавили в css файл? 
08 Июль 2015, 12:45:03
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Ну там немного длинный код, кстати хотел спросить, на этом форуме есть возможность добавления спойлера ?
/*Кнопки каталог*/
.btn-0 {
width: 1170px;
padding-top: 20px;
margin-bottom: 22px;
height: 40px;
}

.btn-0 div a button {
font-family: 'Lato', Calibri, Arial, sans-serif;
}

.btn-1 {
border: none;
font-family: inherit;
font-size: inherit;
color: inherit;
cursor: pointer;
padding: 10px 40px;
display: inline-block;
margin: -9px 10px;
text-transform: uppercase;
letter-spacing: 1px;
font-weight: 700;
outline: none;
position: relative;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s;
}

.btn-1:after {
content: '';
position: absolute;
z-index: -1;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}

.btn-4 {
border-radius: 5px;
border: 3px solid #fff;
overflow: hidden;
}

.btn-4:active {
border-color: #17954c;
color: #17954c;
}

.btn-4:hover {
background: #24b662;
color: white !important;
}

.btn-4:before {
position: absolute;
height: 100%;
font-size: 125%;
line-height: 2.2;
color: #fff;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
transition: all 0.2s;
}

.btn-4:active:before {
color: #17954c;
}

/*------------- Кнопка Вперед ----------*/
.btn-4c:before {
left: 60%;
opacity: 0;
top: 0;
}

.btn-4c:hover:before {
left: 80%;
opacity: 1;
}

/*------------- Кнопка Назад ----------*/
.btn-4d:before {
left: 30%;
opacity: 0;
top: 0;
}

.btn-4d:hover:before {
left: 0%;
opacity: 1;
}
/*-----------------------------------*/
.icon-arrow-left:before {
  /*content: "\f060";*/
  content: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;
  padding: 2px 10px;
  }

.icon-arrow-right:before {
  /*content: "\f061";*/
  content: url(/themes/default-bootstrap/img/arrow_right.png) no-repeat;
  padding: 2px 16px;
  }

Разметка выглядит так:
<div class="btn-0">
<div style="float: left; padding: 0; width: 400px;">
<a title="Мужские кольца Каталог Гелис" href="/.../..."><button class="btn-1 btn-4 btn-4d icon-arrow-left">Мужские кольца</button></a>
</div>
<div style="float: left; width: 365px;">
<h1 style="font-size: 23px; margin-top: 0px;">Женские кольца «Каталог Гелис»</h1>
</div>
<div style="float: left; width: 400px;">
<a style="float: right;" title="Браслеты и колье Каталог Гелис" href="/.../..."><button class="btn-1 btn-4 btn-4c icon-arrow-right" style="float: right;">Браслеты и колье</button></a>
</div>
</div>
08 Июль 2015, 13:26:36
Ответ #6
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Описание (позиция, размеры, фон, цвет) кнопки в одном классе стилей. В стилях с псевдоэлемент :before :after оставьте только контент, который хотите поменять.
Не используйте конструкцию
.btn-4:active:beforeдостаточно
.btn-4:active
08 Июль 2015, 13:31:11
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
content: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;

Вот так во всех браузерах одинаково будет выводить фон
background: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;
10 Июль 2015, 13:18:44
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
content: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;

Вот так во всех браузерах одинаково будет выводить фон
background: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;

Когда меняю та бекграунд, стрелки вообще не отображаются...

может все из-за этого, точнее из-за тега контент!?
.btn-1:after {
content: '';
position: absolute;
z-index: -1;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
10 Июль 2015, 13:35:38
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
10 Июль 2015, 14:16:34
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В общем когда удаляю content: ' '; не работают псевдоэлементы :before :after, я так понимаю для бекграунда нужен немного другой код..
10 Июль 2015, 14:31:30
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Или content с превдоэлементами :before :after.
Или background.
10 Июль 2015, 14:32:01
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
21 Июль 2015, 11:25:16
Ответ #13
  • Фрилансер
  • *
  • Сообщений: 113
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В общем так и не решил проблему, ни в мозиле ни в ИЕ11 кнопка не анимирует стрелку..в мозиле не видит вот это: .btn-4:before {
  position: absolute;
  height: 100%;
  font-size: 125%;
  line-height: 2.2;
  color: #fff;
  transition: all 0.2s ease;
и
.btn-4d:before {
  left: 30%;
  opacity: 0;
  top: 0;
а также
.icon-arrow-left:before {
  /* content: "\f060"; */
  content: url(/themes/default-bootstrap/img/arrow_left.png) no-repeat;
  padding: 2px 10px;
В общем загвоздка думаю в .icon-arrow-left:before потому как ставлю просто content: "\f060"; в мозиле хоть иероглих отображаеться, может я неправильно путь прописал?
21 Июль 2015, 11:39:38
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Выбрось все before/after. Делай проще span класс иконка стрелки
<a title="Мужские кольца Каталог Гелис" href="/.../..."><button class="btn-1 btn-4 btn-4d"><span class="glyphicon glyphicon-arrow-left"></span>Мужские кольца</button></a>