Курсор: указатель не работает на псевдоэлементах как добавить ссылку на HTML-кнопку со значком?

#html #css

Вопрос:

Я пытаюсь добавить социальные кнопки на свой сайт с помощью простого HTML и нескольких строк CSS.

Вот что я придумал:

 <button class="facebook-btn"><span class="dashicons dashicons-facebook-alt"></span></button>
<button class="twitter-btn"><span class="dashicons dashicons-twitter"  ></span></button>
 
 .facebook-btn, .twitter-btn{
    height:105px;
    width:50% !important;
    float:left !important;
    cursor: pointer !important;
}

.facebook-btn{
    background: #405992;
}

.twitter-btn{
    background: #4099ff;
}

.custom-html-widget .facebook-btn span, .twitter-btn span{
    font-size:48px;
    position:relative;
    color: #fff;
    display:block;
    width:100%;
    top:-27px;
}

.custom-html-widget .facebook-btn span:after{
    font-family: Barlow;
    position: relative;
    top:7px !important;
    content: "Polub";
    font-size:18px !important;
    width:100%;
    display:block;
}

.custom-html-widget .twitter-btn span:after{
    font-family: Barlow;
    position: relative;
    top:7px !important;
    content: "Zaobserwuj";
    font-size:18px !important;
    width:100%;
    display:block;
}

.facebook-btn:hover, .twitter-btn:hover {
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
filter: alpha(opacity = 80);
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
    opacity: .8;
    transition: all .2s ease-in-out;
}
 

JSFiddle: https://jsfiddle.net/0t17mv5x/ (JSFiddle не может загружать значки, поэтому значки не видны, но вот как это выглядит на моем сайте: https://i.imgur.com/5XHpWkM.jpg).

У меня есть один вопрос и одна проблема.

  1. Как я могу добавлять ссылки на эти кнопки без видимых якорей? Я хочу иметь возможность нажать на значок Facebook или Twitter и быть перенаправленным на фан-страницу моего сайта.
  2. Мне нужно добавить курсор: указатель на псевдоэлементы в моем коде, но я понятия не имею, как это сделать. Он работает вне псевдоэлементов (в этом сценарии-символы и текст), но не над самими псевдоэлементами. Еще раз, JsFiddle не может загружать дашиконы, поэтому здесь это работает нормально, но не на моем сайте.

У кого-нибудь есть какие-нибудь идеи? Заранее спасибо!

Комментарии:

1. В скрипке вы не добавили a div.custom-html-widget за пределами двух кнопок. Кроме того, свойство курсора в css ваших псевдоэлементов работает, когда я пробую его в скрипке, которую вы дали.

2. Да, это работает в скрипке, потому что JSFiddle не может загружать шаблоны WordPress. Пожалуйста, проверьте этот скриншот — вот как он выглядит, когда Дашиконы правильно загружены: i.imgur.com/5XHpWkM.jpg

3. Привет, я не могу полностью понять ваш скрипичный код. Откуда в нем взялся .custom-html-виджет? Кроме того, есть ли причина не просто использовать теги привязки вместо кнопок?

Ответ №1:

Просто добавьте свои a tag кнопки вокруг, указав URL-адрес вашей фан-страницы, связанный с каждой соответствующей кнопкой. Эта ссылка действительно полезна при обращении к значкам или кнопкам социальных сетей. Использование класса начальной btn-facebook загрузки в данном случае-это способ сделать это. Есть также способы сделать это встроенным, например, с помощью #3B5998 кода.

 .facebook-btn, .twitter-btn{
    height:105px;
    width:50% !important;
    float:left !important;
    cursor: pointer !important;
}

.facebook-btn{
    background: #405992;
}

.twitter-btn{
    background: #4099ff;
}

.custom-html-widget .facebook-btn span, .twitter-btn span{
    font-size:48px;
    position:relative;
    color: #fff;
    display:block;
    width:100%;
    top:-27px;
}

.custom-html-widget .facebook-btn span:after{
    font-family: Barlow;
    position: relative;
    top:7px !important;
    content: "Polub";
    font-size:18px !important;
    width:100%;
    display:block;
}

.custom-html-widget .twitter-btn span:after{
    font-family: Barlow;
    position: relative;
    top:7px !important;
    content: "Zaobserwuj";
    font-size:18px !important;
    width:100%;
    display:block;
}

.facebook-btn:hover, .twitter-btn:hover {
 -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)";
filter: alpha(opacity = 80);
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
    opacity: .8;
    transition: all .2s ease-in-out;
    cursor: pointer; /* added to hover effect, seemed to be working fine in fiddle */
} 
 <a href="facebookURL.com"><button class="facebook-btn"><span class="dashicons dashicons-facebook-alt"></span></button></a>
<a href="twitterURL.com"><button class="twitter-btn"><span class="dashicons dashicons-twitter"></span></button></a> 

Комментарии:

1. Попробуйте добавить cursor: pointer; в свой CSS-класс, который называется .widget-area , похоже, что ваш .widget-area класс содержит значки / изображения социальных сетей (оставайтесь на связи и раздел SO). Если вы не хотите, чтобы курсор превращался в указатель на пустое пространство, я бы рекомендовал сделать обе области виджета собственным контейнером с собственным классом. Например, сделайте верхнюю часть, которая сейчас находится в фокусе, называемой .widget-area-top

2. Это не идеальное решение, потому что оно действительно добавляет курсор над областью, но только небольшая часть кнопок является кликабельной ссылкой. Вам нужно нажать в самом верху каждой кнопки, чтобы быть перенаправленным на Facebook или Twitter. Вся кнопка должна быть ссылкой. У вас есть какие-нибудь идеи, как это сделать?

3. Да, сделайте, как я сказал ранее, и разделите обе кнопки социальных сетей на разные контейнеры. Отделите верхнюю часть от нижней и добавьте немного margin , чтобы получить желаемое расстояние.

4. Хорошо, я попробую — спасибо!

5. Я могу сделать это за секунду.