2010-07-20 5 views
29

<textarea>에 몇 가지 스타일을 실험 중이며 ::before::after 선택기로 일부 작업을 시도했지만 작동하도록 할 수 없었습니다. 그래서 질문은 : 가능합니까? 나는 CSS를 둘러싼 형태가 언급 할 수없는 비논리적 인 것을 알고 있지만 이것이 효과가있는 것처럼 보입니다.a :: before 선택기를 <textarea>과 함께 사용할 수 있습니까?

+0

': before'과': after'를 의미합니까? 그리고, 그들은 여기서 잘 작동합니다; 너는 무엇을 성취하려고 하는가? 브라우저 관련 문제가 발생합니까? – strager

+0

예, 그게 무슨 뜻인지. 그리고 나는 그것의 브라우저와 관련된 어떤 것도 생각하지 않는다. http://nicolasgallagher.com/demo/pure-css-speech-bubbles/bubbles.html에서 몇 가지 아이디어를 얻고 있으며 텍스트 영역에 적용 할 때 모든 것이 표준 블록 수준 요소로 작동하지만 텍스트 영역에는 적용되지 않습니다. – xj9

+3

Chrome 및 Firefox에서 나에게 적합하지 않습니다. 'textarea :: after {content : "some text"}'는 작동하지 않지만'form :: after {content : "some text"}'는 작동합니다. 이중 콜론 스타일은 CSS3 구문이지만 단일 콜론은 CSS2 구문입니다. 텍스트 영역에서도 작업하지 않습니다. –

답변

62

:before 및 의사 요소의 생성 된 내용이 내 요소 만 이전을 배치됩니다 때문에 :aftertext-area (나 같은 img 또는 input 같은 다른 요소를 포함 할 수없는 요소)에서 작동하지 않습니다 또는 다음에 해당 요소의 내용이며 요소로 작동합니다. 의사 요소는 부모 요소 앞이나 뒤에 배치되지 않습니다 (인터넷에서 찾을 수있는 일부 정보와는 반대). 설명하기 :

를이 CSS가있는 경우 :

p:before {content: 'before--'} 
p:after {content: '--after'} 

그리고 HTML과 같은 : 소스 코드 것처럼

<p>Original Content</p> 

효과적으로 화면 에 렌더링 :

<p>before--Original Content--after</p> 

되지 않음소스 코드는 것처럼 :이다

before--<p>Original Content</p>--after 

왜 의사 요소를 인식하지 않는 (위에서 언급 한 것과 같은) 어떤 HTML 요소 "내용"을 포함 할 수 없습니다 태그로 해당 콘텐츠가 생성 될 "장소"가 없습니다. textarea에는 "콘텐츠"가 포함될 수 있지만 순수 텍스트 콘텐츠 만 포함될 수 있습니다.

+0

그건 의미가있어, 고마워! – xj9

+0

감사합니다. 오랫동안 찾고 있었는데, 왜 : before와 : after는 img 태그로 작동하지 않습니다! –

+0

우수 설명 –

-5

사실 입력 요소에 :after의 콘텐츠를 추가 할 수 있습니다. 요소가 활성 상태에있을 때 팁이 추가됩니다.

#gallery_name { 
    position:relative; 
} 
#gallery_name:focus:after { 
    content: "Max Characters: 30"; 
    color: #FFF; 
    position: absolute; 
    right: -150px; 
    top:0px; 
} 

<input id="gallery_name" type="text" name="gallery_name" placeholder="Gallery Name"> 
+3

이것은 내가 말할 수있는 한 작동하지 않습니다. http://jsfiddle.net/DB7w3/ – DMTintner

관련 문제