단일 목록 항목 요소와 함께 글 머리 기호에 Font Awesome 아이콘 사용


131

CMS에서 정렬되지 않은 목록의 글 머리 기호로 Font Awesome ( http://fortawesome.github.com/Font-Awesome/ ) 아이콘 을 사용할 수 있기를 원합니다 .

CMS의 텍스트 편집기는 원시 HTML 만 출력하므로 추가 요소 / 클래스를 추가 할 수 없습니다.

이는 마크 업이 다음과 같이 표시 될 때 아이콘을 표시한다는 의미입니다.

<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>

Font Awesome에 다른 font-family 속성이 필요한지 확인할 수있는 첫 번째 문제는 별도의 요소가 필요합니다.

순수한 CSS를 사용하여 가능합니까? 아니면 jQuery와 같은 것을 사용하여 각 목록 항목의 시작 부분에 요소를 추가해야합니까?

배경 이미지를 대체 할 수 있지만 가능하면 Font Awesome을 사용하는 것이 좋습니다.

답변:


248

해결책:

http://jsfiddle.net/VR2hP/

ul li:before {    
    font-family: 'FontAwesome';
    content: '\f067';
    margin:0 5px 0 -15px;
    color: #f00;
}

이 기술을 자세히 설명 하는 블로그 게시물 이 있습니다.


18
CSS의 값이 글꼴 멋진 아이콘에서 번역의 유용한 목록은 여기에 있습니다 : astronautweb.co/snippet/font-awesome
스콧 C 윌슨

24
기본 글 머리 기호를 제거하기 위해 이것을 포함하고 싶을 것입니다ul { list-style-type: none; }
Edd

같은 페이지에 두 개의 목록이 있는데 왜이 방법이 작동하지 않습니까?
deKajoo

6
아주 좋은, 내가 더 좋은 줄을 제안하는 유일한 것은 margin: 0 0.2em 0 -1.2em;원하는 간격을 얻기 위해 같은 양만큼 두 값을 늘리거나 줄이는 것입니다. 글꼴에 맞지 않는 고정 픽셀 값을 사용하면 여러 줄 목록 항목에 불일치가 나타납니다.
braks

나는 클라이언트가 순서 (번호) 목록을 만들 CMS를 사용하는 경우이에 대한 UL 접두사, 그렇지 않으면 그것을 수행하려고 할 것입니다 추가
rtpHarry

154

새로운 fontawesome (버전 4.0.3)을 사용하면이 작업을 쉽게 수행 할 수 있습니다. 우리는 단순히 다음 클래스를 사용합니다.

<ul class="fa-ul">
  <li><i class="fa-li fa fa-check-square"></i>List icons (like these)</li>
  <li><i class="fa-li fa fa-check-square"></i>can be used</li>
  <li><i class="fa-li fa fa-spinner fa-spin"></i>to replace</li>
  <li><i class="fa-li fa fa-square"></i>default bullets in lists</li>
</ul>

이 (새로운) url에 따르면 : http://fontawesome.io/examples/#list


12
이것은 새로운 fa 버전과 함께 정답이어야합니다. 이 설명에 감사드립니다.
David

23
나는 동의하지 않았다. 질문은 순수한 CSS에서 단일 목록을 사용하는 솔루션을 요구했다. 이것은 클래스뿐만 아니라 추가 HTML을 사용합니다. 이것이 FA 문서 가이 작업을 수행하도록 지정된 방식이지만 기술적으로 질문에 대한 해결책은 아니며 HTML 출력을 수정하지 않고이 작업을 수행하려는 경우 유용하지 않습니다.
라이언

나는 당신이 무엇을하고 있는지 알고 있지만 HTML을 수정할 수없는 상황에서 끊임없이 순수한 CSS를 작성하지 않는 사람들은 ?? (실제로 웹 프레임 워크 변경을 살펴보십시오) 결정하려면 '실제'응답과 병치 된 '올바른'글꼴 멋진 문서 방식으로 링크하려면 Google 쿼리 메모리 새로 고침이 필요합니다. "문제에 대한 정답은 하나뿐이 아니라"라고 말하는 것은 아닙니다.하지만 ...
lol

1
이 방법은 추가 행의 식별이 아이콘 너비를 포함하도록 확장되지 않기 때문에 여러 행으로 줄 바꿈되는 목록 요소에는 적합하지 않습니다.
Lars Haugseth 2016 년

2
FA 4.3 (아마 다른 버전도)와 부트 스트랩 3와 함께 추가, 아마 가치 ulli항목을 설정해야 position: relative이후 fa-li항목이 절대 위치한다. 그렇지 않으면 모두 왼쪽 상단으로 뜹니다.
Jeremy Harris

14

위의 답변 중 일부를 기반으로하고 다른 곳에서 제공하고 : before pseudo class 와 함께 절대 위치 지정 을 사용하는 것이 좋습니다 . 위의 많은 예제 (및 유사한 질문에서)는 Font Awesome의 처리 방법을 포함하여 사용자 정의 HTML 마크 업을 사용하고 있습니다. 이것은 원래의 질문에 위배되며 반드시 필요한 것은 아닙니다.

여기 데모

ul {
  list-style-type: none;
  padding-left: 20px;
}

li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px
}

li:before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: FontAwesome;
  content: "\f058";
  color: green;
}

기본적으로 그렇습니다. Font Awesome cheatsheet 의 CSS 내용에 사용할 ISO 값을 얻을 수 있습니다 . 백 슬래시가 앞에 붙은 마지막 4 개의 영숫자를 사용하십시오. 그래서 [&#xf058;]이된다\f058


4

예제 페이지 에 정렬되지 않은 목록과 함께 Font Awesome을 사용하는 방법에 대한 예제가 있습니다.

<ul class="icons">
  <li><i class="icon-ok"></i> Lists</li>
  <li><i class="icon-ok"></i> Buttons</li>
  <li><i class="icon-ok"></i> Button groups</li>
  <li><i class="icon-ok"></i> Navigation</li>
  <li><i class="icon-ok"></i> Prepended form inputs</li>
</ul>

이 코드를 시도한 후에도 작동하지 않으면 라이브러리를 올바르게 포함하지 않은 것입니다. 그들의 웹 사이트에 따르면 다음과 같은 라이브러리를 포함해야합니다.

<link rel="stylesheet" href="../css/bootstrap.css">
<link rel="stylesheet" href="../css/font-awesome.css">

또한 그의 웹 사이트 CSS Tricks 에서 아이콘 글꼴관한 기발한 Chris Coyier의 게시물을 확인하십시오 .

여기에 자신의 아이콘 글꼴 얼굴을 만드는 방법에 대한 스크린 캐스트 가 있습니다.


2
추가 마크 업이 필요하지 않습니다 . 자체 li:before와 다른 글꼴 군을 가질 수 있습니다 li.
cimmanon

@cimmanon : 실제로 정확하지만 Font Awesome에 대한 문서는 추가 마크 업이 필요하다고 제안합니다. 기술적으로 필요하지는 않지만 어떤 키에 어떤 심볼이 매핑되어 있는지 확인하기 위해 글꼴 글리프를 파고들 필요가 있다고 생각합니다. 시간과 인내가 필요하지만 솔루션도 잘 작동합니다.
cereallarceny

@cereallarceny-우리가 가진 문제는 CMS의 HTML 편집기 (TinyMCE)가 내 질문에 준 형식을 생성한다는 것입니다. 따라서 이러한 관점에서 우리는 목록 HTML을 제어 할 수 없습니다. TinyMCE가 i 요소를 포함하도록 구성하지 않으면 (빈 요소로 삭제하지 않음).
BaronGrivet

따라서 HTML에 액세스 할 수 없습니다. CSS에 액세스 할 수 있습니까?
cereallarceny

예, CSS에 완전히 액세스하십시오.
BaronGrivet

1

@Tama,이 답변을 확인하고 싶을 수도 있습니다 : Font Awesome 아이콘을 글 머리 기호로 사용

기본적으로 FontAwesome과 다른 답변에서 제안한대로 추가 마크 업이 필요없이 CSS 만 사용하여이를 수행 할 수 있습니다.

다시 말해, 초기 게시물에서 언급 한 것과 동일한 기본 마크 업을 사용하여 필요한 것을 달성 할 수 있습니다.

<ul>
  <li>...</li>
  <li>...</li>
  <li>...</li>
</ul>

감사.


1

표준 <ul><i>내부를 사용하는 솔루션<li>

  <ul>
    <li><i class="fab fa-cc-paypal"></i> <div>Paypal</div></li>
    <li><i class="fab fa-cc-apple-pay"></i> <div>Apple Pay</div></li>
    <li><i class="fab fa-cc-stripe"></i> <div>Stripe</div></li>
    <li><i class="fab fa-cc-visa"></i> <div>VISA</div></li>
  </ul>

여기에 이미지 설명을 입력하십시오

여기 데모


1

Font Awesome 5에서는 위의 답변 중 일부와 마찬가지로 순수한 CSS를 사용하여 수정할 수 있습니다.

ul {
  list-style-type: none;
}

li:before {
  position: absolute;
  font-family: 'Font Awesome 5 free';
          /*  Use the Name of the Font Awesome free font, e.g.:
           - 'Font Awesome 5 Free' for Regular and Solid symbols;
           - 'Font Awesome 5 Brand' for Brands symbols.
           - 'Font Awesome 5 Pro' for Regular and Solid symbols (Professional License);
          */
  content: "\f1fc"; /* Unicode value of the icon to use: */
  font-weight: 900; /* This is important, change the value according to the font family name
                       used above. See the link below  */
  color: red;
}

올바른 글꼴 가중치가 없으면 빈 사각형 만 표시됩니다.

https://fontawesome.com/how-to-use/on-the-web/advanced/css-pseudo-elements#define

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.