Смена значения value в submit при адаптиве css

207
26 июля 2017, 20:30

Доброго времени! Делаю адаптивное меню есть там одна кнопка типа submit вот:

 <input type="submit" class="gener" name="prlog" value=" ">

при десктопном разрешении на ней стоит бэкграунд картинка вот так:

.gener {
  width: 50px;
  height: 31px;
  border: none;
  background: transparent url(../img/login.jpg) no-repeat center center;
  background-size: 100% 100%;
  cursor: pointer;
}

по этому value у элемента пустое - но в мобильной версии при адаптиве к примеру на 480px кнопка увеличивается и растягивается:

.gener {
  height: 100px;
  background: #3CAD5F url(../img/login.jpg) no-repeat right center;
  background-size: 100px 100%;
  width: 100%;
  cursor: pointer;
}

и нужно что бы в value было написано "Вход", увы я не могу просто сменить бэкграунд со значка (в десктопной версии) на картинку с надписью вход, хотя это было бы идеальным решением, т.к. на сайте будут в дальнейшем многоязыковые версии и надписи будут выводиться из переменных.

Можно ли как то установить value элемента путем css? Очень не хочу вставлять костыли через javascript

Answer 1

Не уверен что это будет правильно, но:

div{ 
  width: 50px; 
  position: relative; 
  background: red; 
  display: flex; 
} 
 
div:before{ 
  content: attr(data-value); 
  position: absolute; 
  z-index: 1; 
  color: #fff; 
  left: 50%; 
  top: 50%; 
  transform: translate(-50%,-50%); 
} 
 
input{ 
  width: 100%; 
  height: 31px; 
  border: none; 
  background-size: 100% 100%; 
  cursor: pointer; 
  position: relative; 
  z-index: 2; 
  opacity: 0; 
}
<div data-value="login"><input type="submit"  value=""></div>

Answer 2

Через js лучше. А почему на JS это костыль объясните. https://jsfiddle.net/84m4vt7g/

window.onresize = function() { 
  if (window.innerWidth < 700) 
    $('.responsive').val('Вход') 
} 
  if (window.innerWidth < 700) 
    $('.responsive').val('Вход')
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<input value="Войти" class="responsive" type="submit">

READ ALSO
пишу тему на wordpress, возникли сложности с sidebar

пишу тему на wordpress, возникли сложности с sidebar

Пишу тему на wordpress, помогите, пожалуйста, разобраться почему у меня НЕ отображается на сайте sidebar, хотя в админке он появляется, я его заполняю,...

262
Как сделать footer посередине?

Как сделать footer посередине?

Добавил в Footer класс navbar-fixed-bottom и Fotter прижался, но растянулся на всюКак сделать его таким же как и остальной контент по центру (выделил красным)

237
Проблемы с alert в плагине jquery Validation

Проблемы с alert в плагине jquery Validation

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

217
Парс через Html Agility Pack

Парс через Html Agility Pack

Требуется спарсить города(сайт и xPath указаны в коде), но парсятся пустые строки(есть только outerhtml = " option value="spb> < /option" " - для питера, но нужен...

222