[html] CSS의 목록 항목에 대한 글 머리 기호로 유니 코드 문자
예를 들어, 목록 항목의 글 머리 기호로 star-symbol (★)을 사용해야합니다.
CSS3 모듈 : Lists를 읽었으며 사용자 지정 텍스트를 글 머리 기호로 사용하는 방법을 설명했지만 저에게는 작동하지 않습니다. 제 생각에는 브라우저는 단순히 ::marker
의사 요소를 지원하지 않습니다 .
이미지를 사용하지 않고 어떻게 할 수 있습니까?
답변
편집하다
더 이상 이미지를 사용하지 않는 것이 좋습니다. 다음과 같이 유니 코드 문자를 사용하는 방법을 고수합니다.
li:before {
content: "\2605";
}
오래된 답변
나는 아마도 이미지 배경으로 갈 것입니다. 훨씬 더 효율적입니다. 다목적이며 브라우저 간 친화적입니다.
예를 들면 다음과 같습니다.
<style type="text/css">
ul {list-style:none;} /* you should use a css reset too... ;) */
ul li {background:url(images/icon_star.gif) no-repeat 0 5px;}
</style>
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
<li>List Item 3</li>
</ul>
답변
글 머리 기호로 텍스트 사용
li:before
이스케이프 된 Hex HTML 엔티티 (또는 일반 텍스트)와 함께 사용 합니다.
예
내 예에서는 확인 표시가있는 목록을 글 머리 기호로 생성합니다.
CSS :
ul {
list-style: none;
padding: 0px;
}
ul li:before
{
content: '\2713';
margin: 0 1em; /* any design */
}
브라우저 호환성
직접 테스트하지는 않았지만 IE8에서 지원되어야합니다. 적어도 그것이 quirksmode 및 css-tricks입니다 말하는 것입니다.
조건부 주석을 사용하여 이미지 또는 스크립트와 같은 이전 / 느린 솔루션을 적용 할 수 있습니다. 더 나은 방법은 두 가지를 모두 <noscript>
이미지에 사용 하는 것입니다.
HTML :
<!--[if lt IE 8]>
*SCRIPT SOLUTION*
<noscript>
*IMAGE SOLUTION*
</noscript>
<![endif]-->
배경 이미지 정보
배경 이미지는 정말 다루기 쉽지만 …
- 브라우저 지원
background-size
은 실제로 IE9에서만 제공됩니다. - HTML 텍스트 색상 및 특수 ( 미친 ) 글꼴은 적은 HTTP 요청으로 많은 일을 할 수 있습니다.
- 스크립트 솔루션은 HTML 엔티티를 주입하고 동일한 CSS가 작업을 수행하도록 할 수 있습니다.
- 좋은 재설정 CSS 코드는
list-style
(보다 논리적 선택) 더 쉽게 만들 수 있습니다 .
즐겨.
답변
다음과 같이 구성 할 수 있습니다.
#modal-select-your-position li {
/* handle multiline */
overflow: visible;
padding-left: 17px;
position: relative;
}
#modal-select-your-position li:before {
/* your own marker in content */
content: "—";
left: 0;
position: absolute;
}
답변
이것이 W3C 솔루션입니다. 3012에서 사용할 수 있습니다!
ul { list-style-type: "*"; } /* Sets the marker to a "star" character */
답변
이미지는 일부 기기 (Retina 디스플레이가있는 Apple 기기)에서 픽셀 화로 표시되거나 확대 할 때 표시 될 수 있으므로 권장하지 않습니다. 캐릭터를 사용하면 목록이 매번 멋지게 보입니다.
지금까지 찾은 최고의 솔루션입니다. 훌륭하게 작동하며 크로스 브라우저 (IE 8+)입니다.
ul {
list-style: none;
padding-left: 1.2em;
text-indent: -1.2em;
}
li:before {
content: "►";
display: block;
float: left;
width: 1.2em;
color: #ff0000;
}
중요한 것은 텍스트가 너무 길어서 한 줄에 맞지 않는 경우 텍스트가 정렬 된 상태로 유지되도록 고정 너비의 부동 블록에 문자를 포함하는 것입니다.
1.2em 은 캐릭터에 대해 원하는 너비이며 필요에 따라 변경하십시오. ul 및 li 요소의 패딩과 여백을 재설정하는 것을 잊지 마십시오.
편집 : ul 및 li : before에서 다른 글꼴을 사용하는 경우 “1.2em”크기가 다를 수 있습니다. 픽셀을 사용하는 것이 더 안전합니다.
답변
별표를 추가하려면 유니 코드 문자를 사용하십시오 22C6
.
li
별과 별 사이에 약간의 간격을두기 위해 공간을 추가했습니다 . 공간 코드는 A0
.
li:before {
content: '\22C6\A0';
}
답변
222의 대답에 대한 더 완전한 예 :
ul {
list-style:none;
padding: 0 0 0 2em; /* padding includes space for character and its margin */
/* IE7 and lower use default */
*list-style: disc;
*padding: 0 0 0 1em;
}
ul li:before {
content: '\25BA';
font-family: "Courier New", courier, "Lucida Sans Typewriter", "Lucida Typewriter", monospace;
margin: 0 1em 0 -1em; /* right margin defines spacing between bullet and text. negative left margin pushes back to the edge of the parent <ul> */
/* IE7 and lower use default */
*content: none;
*margin: 0;
}
ul li {
text-indent: -1em; /* negative text indent brings first line back inline with the others */
/* IE7 and lower use default */
*text-indent: 0;
}
이전 IE 버전에서 기본 목록 스타일을 복원하기 위해 스타 해킹 속성을 포함했습니다. 원하는 경우이를 꺼내서 조건부 포함에 포함하거나 배경 이미지 기반 솔루션으로 대체 할 수 있습니다. 저의 겸손한 의견은 이러한 방식으로 구현 된 특수 총알 스타일은 의사 선택기를 지원하지 않는 몇몇 브라우저에서 우아하게 저하되어야한다는 것입니다.
Firefox, Chrome, Safari 및 IE8-10에서 테스트되었으며 모두 올바르게 렌더링됩니다.