Фокус состояния на элементе перед

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

Для вашего примера требуется только незначительное изменение.

NSURL *thumbURL2 = [NSURL URLWithString:@"http://example.com/thumbs/2.jpg"];
NSData *thumbData2 = [NSData dataWithContentsOfURL:thumbURL2];
UIImage *thumb2 = [UIImage imageWithData:thumbData2];
[btn2 setBackgroundImage:thumb2 forState:UIControlStateNormal];
[self.view addSubview:btn2];
3
задан James Ives 5 March 2019 в 19:00
поделиться

1 ответ

Метод 1

Здесь можно использовать функцию фокусировки в пределах . Но :focus-within не поддерживает IE.

См. Список поддержки браузера.

Метод 2

.test input {
  padding-left: 2em;
  padding-top: 1em;
  padding-bottom: 1em;
}

.test input:focus,
.test input:focus + label {
  color: green;
}

.test label {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 10px;
  z-index: 1;
}

.test {
  position: relative;
  background-color: #dedede;
  display: inline;
}
<div class="test">
  <input id="input" type="text"/>
  <label for="input">[111]lt;/label>
</div>

Метод 3

Когда вам нужно поработать над " : перед "селектором;

.test input {
  padding-left: 2em;
  padding-top: 1em;
  padding-bottom: 1em;
}

.test input:focus,
.test input:focus + label {
  color: green;
}

.test label:before {
  display: block;
  content: ' 
<div class="test">
  <input id="input" type="text"/>
  <label for="input"></label>
</div>

; position: absolute; top: 50%; transform: translateY(-50%); left: 10px; z-index: 1; } .test { position: relative; background-color: #dedede; display: inline; }
<div class="test">
  <input id="input" type="text"/>
  <label for="input"></label>
</div>

0
ответ дан BOZ 5 March 2019 в 19:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: