목표는 다음과 같습니다. title 속성이 비어 있지 않은지 확인하십시오. 그것이 없으면이 제목 속성의 값과 하이픈을 더해야합니다. 반면 title 속성이 비어 있으면 "-"을 전혀 추가하지 않아야합니다.CSS 제목 속성이 비어 있지 않고 내용이 추가되어 있는지 확인하십시오.
여기에 내 현재 CSS 코드 :
div:hover::before{content:attr(title):not(attr(title)="") " - ";}
하지만 예상대로 작동하지 않습니다.
<div title="My username">some text</div>
이 호버에 다음과 같은 표시됩니다 : 예를 들어
내 이름 - 텍스트
그러나 경우가 :
<div title="">some text</div>
또는 (DIV에는 제목) :
<div>some text</div>
는 호버에 표시가 없어야한다 :
텍스트
그것을 해결할 수 있습니까?
이 CSS의 아주 멋진 사용,하지만 난 자바 스크립트가 더 적합한 솔루션이라고 생각; 이것은 스타일링의 범위를 넘어서기 때문에 & 나는 그것들을 분리하여 유지하는 것이 최선이라고 생각합니다. –
@ deraad : 나는 이것이 스타일의 범위를 벗어나는 방법을 모르겠습니다. ': hover'는 CSS의 등장으로 속성 선택자가 거의 오랫동안 존재했으며, 생성 된 내용은 이와 같은 상황을 위해 특별히 설계되었습니다. 제작자가 함께 사용하지 않아야하는 이유는 없습니다. 어쩌면'title' 속성이'data-username'이나 마크 업에 더 적합한 것으로 바뀐 것일 수도 있습니다 ... – BoltClock
사실,이 방법으로 사용할 수 있다는 것이 맞습니다. 내 의견은 올바른 장소에 물건을 보관하는 것과 관련이 있습니다. 예를 들어 프로젝트가 성장하고 클릭, 마우스 오버, 마우스 아웃 등과 같은 많은 이벤트가있을 때 CSS만으로는 만족할 수 없습니다. 이벤트 동작이 javascript 또는 CSS로 작성되었는지, 특히 팀에서 작업하는 경우 혼동을 일으킬 수 있습니다. 내가 과거에 실행 한 그 무언가, 그래서 내 의견은 정말로, 분명히 그럼에도 불구하고 실제로 여전히 유효합니다. –