Как выровнять текст внутри заполнителя - PullRequest
0 голосов
/ 25 апреля 2018

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

Ответы [ 3 ]

0 голосов
/ 25 апреля 2018

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

var input = document.getElementById("name");

input.onblur = function() {
   if(!input.value) input.classList.remove('not-empty');
};

input.onfocus = function() {
   input.classList.add('not-empty');
};
.input-container {
    position: relative;
    display: inline-block;
}

.input-container:before {
    content: "name";
    position: absolute;
    left: 5px;
    top: 0;
    z-index: -1;
}

.input-container:after {
    content: "nombre";
    position: absolute;
    top: 0;
    right: 5px;
    z-index: -1;
}

.input-container input {
    z-index: 1;
    background: transparent;
}

.input-container input.not-empty {
    background: white;
}
<div class="input-container"><input id="name" type="text" name="name"></div>
0 голосов
/ 25 апреля 2018

Шрути

Проверка решения

If you satisfied please give me vote as a gift :)

$(document).ready(function(){
		$("input").click(function(){
			$("label").hide();
		});
		$("input").focusout(function(){
        	if($(this).val() !=''){
				
				} else{
					$("label").show();
				}
				
				
    	});
	});
p{position: relative; display: inline-block;}
	label[for="english"] { position: absolute;left: 4px;}
	label[for="spanish"] {position: absolute; right: 4px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<p>
<label for="english">Name </label>
<label for="spanish">Nombre</label>
<input type="text" nam="name">
</p>
0 голосов
/ 25 апреля 2018

Я думаю, что самый чистый способ это:

$(document).ready(function() {
  $('input').focus(function() {
    $('label').addClass("focus");
  })
  $('input').blur(function() {
    if(!$(this).val()) {
      $('label').removeClass("focus");
    }
  })
});
.input-group {
  position: relative;
  display: inline-block;
}

label {
  pointer-events: none;
}

label.focus {
  display: none;
}

label.english {
  position: absolute;
  left: 4px;
}

label.spanish {
  position: absolute;
  right: 4px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="input-group">
  <label class="english" for="name">Name</label>
  <label class="spanish" for="name">Nombre</label>
  <input id="name" type="text" name="name">
</div>

Почему вы должны использовать метку?
& Некоторые документы о нескольких метках

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...