CSS 콘텐츠 생성 '입력' 요소 전후
Firefox 3 및 Google Chrome 8.0에서는 다음이 예상대로 작동합니다.
<style type="text/css">
span:before { content: 'span: '; }
</style>
<span>Test</span> <!-- produces: "span: Test" -->
하지만 그 요소가 그 다음과 같은 경우에는.<input>
:
<style type="text/css">
input:before { content: 'input: '; }
</style>
<input type="text"></input> <!-- produces only the textbox; the generated content
is nowhere to be seen in both FF3 and Chrome 8 -->
왜 제가 생각했던 것처럼 작동이 안 되는 겁니까?
와 함께:before
그리고.:after
해당 요소 내부의 내용 앞에 삽입할 내용을 지정합니다.)을 지정합니다.input
요소에 내용이 없습니다.
예를 들어 글을 쓴다면<input type="text">Test</input>
(잘못된) 브라우저는 이를 수정하고 입력 요소 뒤에 텍스트를 넣을 것입니다.
당신이 할 수 있는 유일한 방법은 모든 입력 요소를 스판이나 디브로 포장하고 CSS를 적용하는 것입니다.
사양의 예를 참조하십시오.
예를 들어, 다음 문서 조각과 스타일시트가 있습니다.
<h2> Header </h2> h2 { display: run-in; } <p> Text </p> p:before { display: block; content: 'Some'; }
...다음 문서 조각 및 스타일시트와 정확히 동일한 방식으로 렌더링합니다.
<h2> Header </h2> h2 { display: run-in; } <p><span>Some</span> Text </p> span { display: block }
이것은 그것이 작동하지 않는 이유와 같습니다.<br>
,<img>
, 등()<textarea>
특별한 것 같습니다.
이것은 원인이 아닙니다.input
태그는 그 자체로 어떤 콘텐츠도 가지고 있지 않지만, 그들의 콘텐츠가 CSS의 범위를 벗어난다.
input
elements는 특별한 유형입니다. 이것들은 지원하지 않습니다.:pseudo
등의 선택자.:before
그리고.:after
.
CSS에서 대체된 요소는 표현이 CSS의 범위 밖에 있는 요소입니다.이것들은 표현이 CSS와 독립적인 일종의 외부 객체입니다.일반적으로 교체되는 요소는
<img>
,<object>
,<video>
또는와 같은 요소를 형성합니다.<textarea>
그리고.<input>
. 어떤 요소들은, 예를 들면,<audio>
아니면<canvas>
특정한 경우에만 요소를 교체합니다.CSS 컨텐츠 속성을 사용하여 삽입된 개체는 익명으로 대체된 요소입니다.
이는 사양에도 언급되어 있습니다.
이 규격은 다음의 상호작용을 완전히 정의하지 않습니다.
:before
그리고.:after
(HTML의 IMG와 같은) 요소를 대체했습니다.
그리고 보다 명확하게 다음과 같습니다.
교체된 요소가 없습니다.
::before
그리고.::after
사이비의
이와 같은 기능이 있습니다.
input + label::after {
content: 'click my input';
color: black;
}
input:focus + label::after {
content: 'not valid yet';
color: red;
}
input:valid + label::after {
content: 'looks good';
color: green;
}
<input id="input" type="number" required />
<label for="input"></label>
그런 다음 플로트를 추가하거나 위치를 지정하여 물건을 주문합니다.
fyi<form>
지지대들:before
/:after
또한, 당신이 당신의 짐을 싸면 도움이 될 것입니다.<input>
그것을 가진 요소들...(그것도 디자인 문제가 있었습니다.)
태그 라벨을 사용하고 =에 대한 당사의 방법은 입력할 수밖에 없습니다.양식의 규칙을 따르고 태그와의 혼동을 피할 경우 다음을 사용합니다.
<style type="text/css">
label.lab:before { content: 'input: '; }
</style>
또는 비교(짧은 코드):
<style type="text/css">
div label { content: 'input: '; color: red; }
</style>
형태..
<label class="lab" for="single"></label><input name="n" id="single" ...><label for="single"> - simle</label>
또는 비교(짧은 코드):
<div><label></label><input name="n" ...></div>
언급URL : https://stackoverflow.com/questions/4574912/css-content-generation-before-or-after-input-elements
'source' 카테고리의 다른 글
CSS 필터: 투명도가 있는 컬러 이미지를 흰색으로 만듭니다. (0) | 2023.10.16 |
---|---|
(함수명)의 크기'는 무엇을 반환합니까? (0) | 2023.10.16 |
장고: 데이터베이스에 행 삽입 (0) | 2023.10.16 |
SQL에서 문자열을 비교하려면 '=' 또는 'LIKE'를 사용하시겠습니까? (0) | 2023.10.16 |
var.replace가 함수가 아닙니다. (0) | 2023.10.16 |