>웹 프론트엔드 >H5 튜토리얼 >HTML5 입력 자리 표시자의 색상 수정 정보

HTML5 입력 자리 표시자의 색상 수정 정보

不言
不言원래의
2018-06-12 15:44:102299검색

이 글은 주로 HTML5 입력 자리표시자 색상 수정에 대한 지식을 소개합니다. 도움이 필요한 친구들이 참고할 수 있습니다. Chrome은 input=[type=text] 자리 표시자 텍스트 속성을 지원하지만 다음 CSS 스타일은 작동하지 않습니다.

CSS

input[placeholder], [placeholder], *[placeholder] { 
color:red !important; 
}

HTML 입력 문

<input type="text" placeholder="Value" />

실행 결과 값은 여전히 ​​회색이고 Color: red에는 no가 있습니다. 효과. 자리표시자 텍스트의 색상을 변경할 수 있는 방법이 있나요? 브라우저에 jQuery 자리 표시자 텍스트 플러그인을 설치했지만 여전히 작동하지 않습니다. (!important는 IE7과 Firefox에서만 인식됩니다.)

답변:

toscho: 구현 방법에는 의사 요소, 의사 클래스 및 Notihing의 세 가지가 있습니다.
WebKit 및 Blink(Safari, Google Chrome, Opera15+)는 의사 요소를 사용합니다.

::-webkit-input-placeholder

Mozilla Firefox 4-18은 의사 클래스를 사용합니다.

:-moz-placeholder

Mozilla Firefox 19+는 의사 요소를 사용합니다.

::-moz-placeholder

IE10 의사 클래스를 사용합니다.

:-ms-input-placeholder

IE9 및 Opera12 다음 버전의 CSS 선택기는 자리 표시자 텍스트를 지원하지 않습니다. 의사 요소는 Shadow DOM에서 요소의 실제 역할을 수행한다는 점에 유의해야 합니다.

CSS 선택기

브라우저마다 CSS 선택기가 다르기 때문에 브라우저마다 별도의 설정을 해줘야 합니다.

::-webkit-input-placeholder { /* WebKit browsers */ 
color: #999; 
} 
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ 
color: #999; 
} 
::-moz-placeholder { /* Mozilla Firefox 19+ */ 
color: #999; 
} 
:-ms-input-placeholder { /* Internet Explorer 10+ */ 
color: #999; 
}

Matt: 텍스트 영역(텍스트 상자 확장 가능) 스타일에 대한 코드는 다음과 같습니다.

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { 
color: #636363; 
} 
input:-moz-placeholder, textarea:-moz-placeholder { 
color: #636363; 
}

brillout.com: 입력 및 텍스트 영역의 글꼴 색상은 빨간색입니다. 모든 스타일은 서로 다른 선택기에 특정해야 하며 전체적으로 패키징해서는 안 됩니다. 그 중 하나가 실패하면 다른 스타일도 실패하기 때문입니다.

*::-webkit-input-placeholder { 
color: red; 
} 
*:-moz-placeholder { 
color: red; 
} 
*:-ms-input-placeholder { 
/* IE10+ */ 
color: red; 
}

James Donnelly: Firefox 및 IE에서 자리 표시자 색상을 일반 입력 텍스트 색상으로 덮어쓰는 방법:

::-webkit-input-placeholder { 
color: red; text-overflow: ellipsis; 
} 
:-moz-placeholder { 
color: #acacac !important; text-overflow: ellipsis; 
} 
::-moz-placeholder { 
color: #acacac !important; text-overflow: ellipsis; 
} /* for the future */ 
:-ms-input-placeholder { 
color: #acacac !important; text-overflow: ellipsis; 
}

또 다른 좋은 방법이 있습니다:

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { 
color: #666; 
} 
input:-moz-placeholder, textarea:-moz-placeholder { 
color: #666; 
} 
input::-moz-placeholder, textarea::-moz-placeholder { 
color: #666; 
} 
input:-ms-input-placeholder, textarea:-ms-input-placeholder { 
color: #666; 
}

마지막 방법은 온라인에서 찾을 수 있습니다:

$('[placeholder]').focus(function() { 
var input = $(this); 
if (input.val() == input.attr('placeholder')) { 
input.val(''); 
input.removeClass('placeholder'); 
} 
}).blur(function() { 
var input = $(this); 
if (input.val() == '' || input.val() == input.attr('placeholder')) { 
input.addClass('placeholder'); 
input.val(input.attr('placeholder')); 
} 
}).blur(); 
$('[placeholder]').parents('form').submit(function() { 
$(this).find('[placeholder]').each(function() { 
var input = $(this); 
if (input.val() == input.attr('placeholder')) { 
input.val(''); 
} 
}) 
});

이 규칙은 다음과 같습니다. 코드 호출은 먼저 Javascript를 로드한 다음 CSS를 사용하여 자리 표시자 속성을 수정하는 것입니다.

form .placeholder { 
color: #222; 
font-size: 25px; 
/* etc */ 
}

user1729061: CSS와 자리 표시자 텍스트를 사용하지 않고도 동일한 효과를 얻을 수 있습니다.

input type="text" value="placeholder text" onfocus="this.style.color='#000'; 
this.value='';" style="color: #f00;"/>

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 권장 사항:

HTML5 contenteditable 속성 분석

위 내용은 HTML5 입력 자리 표시자의 색상 수정 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.