Bootstrap 3 Glyphicons ไม่ทำงาน


360

ฉันดาวน์โหลด bootstrap 3.0 และไม่สามารถใช้ glyphicons ในการทำงานได้ ฉันได้รับข้อผิดพลาด "E003" บางประเภท ความคิดใด ๆ ว่าทำไมสิ่งนี้ถึงเกิดขึ้น? ฉันลองทั้งในประเทศและออนไลน์และฉันยังคงได้รับปัญหาเดียวกัน


1
คุณได้รับข้อผิดพลาดที่ไหน
Daniel A. White

1
ทุกที่ที่ฉันแทรกไอคอน ... นี่คือข้อผิดพลาดที่ฉันได้รับ สิ่งเดียวที่ฉันทำคือการดาวน์โหลด bootstrap จากเครื่องมือปรับแต่งเว็บไซต์และแทนที่ไฟล์ก่อนหน้า (ไฟล์ฟอนต์มีชื่อต่างกัน) ตอนนี้พวกเขาไม่ทำงาน ... ได้ลองเบราว์เซอร์หลายตัวเช่น Firefox, Chrome เช่นเดียวกัน ... i.imgur.com/2f474kX.jpg
scooterlord

2
ฉันเพิ่งดาวน์โหลดรุ่นล่าสุดวันนี้และ glyphs ไม่แสดงถ้าฉันใช้ไฟล์ CSS ที่ย่อเล็กสุด ถ้าฉันใช้ bootstrap.css 'ปกติ' ทุกอย่างทำงานได้ดี
Antonio Sesto

1
ตั้งแต่วันที่ 23 มิถุนายน 2015 รวมรุ่นล่าสุด v3.3.5 maxcdn คุณไม่มีข้อผิดพลาด

1
ฉันพบว่าฉันใช้ glyphicons บนพื้นหลังสีขาวและคาดหวังว่าพวกเขาจะปรากฏขึ้น ใช้ <i style = "color: black" class = "glyphicon glyphicon-new-window"> </i> แก้ไข
Vijay Vepakomma

คำตอบ:


478

ฉันมีปัญหาเดียวกันและไม่พบข้อมูลใด ๆ เกี่ยวกับเรื่องนี้ยกเว้นในความคิดเห็นที่ซ่อนอยู่ในหน้านี้ ไฟล์แบบอักษรของฉันโหลดได้ดีตาม Chrome แต่ไอคอนแสดงไม่ถูกต้อง ฉันทำคำตอบนี้หวังว่าจะช่วยคนอื่นได้

มีบางอย่างผิดปกติกับไฟล์แบบอักษรที่ฉันดาวน์โหลดจากเครื่องมือปรับแต่ง Bootstrap 3 ในการรับแบบอักษรที่ถูกต้องให้ไปที่หน้าแรกของ Bootstrapและดาวน์โหลดไฟล์. zip แบบเต็ม แตกไฟล์ฟอนต์สี่ไฟล์จากที่นั่นไปยังไดเร็กทอรีฟอนต์ของคุณและทุกอย่างจะทำงานได้


คุณบันทึกความเจ็บปวดได้นานหลายชั่วโมง ฉันปวดไปหนึ่งชั่วโมงแล้ว แต่จากนั้นฉันก็คิดถึงที่นี่
Christina

6
การแลกเปลี่ยนไฟล์ฟอนต์สำหรับไฟล์ที่รวมอยู่ใน bootstrap-3.0.0 ของโฮมเพจ getbootstrap.com ขอบคุณสำหรับทิป!
Michal Kopec

11
คำตอบที่ถูกต้อง! ไฟล์แบบอักษรจาก Customizer เสียหาย!
Charles Ingalls

2
ฉันต้องการเพิ่มการตอบสนอง "ฉันด้วย" ของฉันและพูดว่าหลังจากเสียเวลาสองสามชั่วโมงของความพยายามและความโกรธเกือบเลิกอาชีพของฉันฉันพบคำตอบนี้และตอนนี้ฉันทำงาน glyphicons อีกครั้ง ขอบคุณ!!
dohpaz42

2
ฉันแทบรอไม่ไหวที่จะได้เป็นส่วนหนึ่งของทุกคนที่ประสบความสำเร็จ แต่ตอนนี้ถึงแม้ว่าจะได้ลองใช้โซลูชั่นและคำตอบของ Stack เกือบทุกครั้ง แต่ฉันก็ยังไม่เห็นไอคอน ฉันพยายามเริ่มแอพ MVC 5 ใหม่อย่างสมบูรณ์และใช้ Nuget เพื่อติดตั้ง bootstrap เวอร์ชันล่าสุด 3.3.7 ซึ่งติดตั้งโฟลเดอร์ทั้งหมดอย่างถูกต้องและไม่มีอะไรแสดง 404 ในเครื่องมือดีบักเกอร์ของเบราว์เซอร์หรืออะไรก็ตามที่บอกฉันว่าแบบอักษรไม่ได้โหลดและ ฉันสามารถบอกคุณได้ว่ารหัสสำหรับช่วงนั้นสมบูรณ์แบบดังนั้นปัญหาของฉันอยู่ที่ไหน ฉันไม่รู้จริงๆ ฉันทดสอบเบราว์เซอร์ทั้งหมดและไม่มีใครแสดงไอคอน
Marc Roussel

235

หมายเหตุถึงผู้อ่าน: อย่าลืมอ่านความคิดเห็นของ @ user2261073และคำตอบของ @ Jeffเกี่ยวกับบั๊กในเครื่องมือปรับแต่ง อาจเป็นสาเหตุของปัญหาของคุณ


ไม่ได้โหลดไฟล์แบบอักษรอย่างถูกต้อง ตรวจสอบว่าไฟล์อยู่ในตำแหน่งที่คาดหวังไว้หรือไม่

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

ตามที่ระบุโดยแดเนียลมันอาจเป็นปัญหาพิมพ์ดีด เครื่องมือ dev ของ Chrome แสดงแบบอักษรที่ดาวน์โหลดในแท็บเครือข่าย:

ดาวน์โหลดแบบอักษรของแท็บเครือข่าย chrome


5
และมีการลงทะเบียนชนิดไฟล์อย่างถูกต้อง
Daniel A. White

4
... แม้ว่าไฟล์ควรจะอยู่ในตำแหน่งเมื่อฉันดาวน์โหลดไฟล์ bootstrap.zip ฉันยังคงตรวจสอบอีกครั้งและทุกอย่างอยู่ในตำแหน่งเดิม ฉันจะตรวจสอบการลงทะเบียน mimetypes ได้อย่างไร (=?)
scooterlord

1
@ user2261073 ไฟล์. eotไม่ควรโหลดจนกว่าคุณจะใช้ Internet Explorer
user247702

46
ดูเหมือนว่าฉันพบปัญหา เครื่องมือปรับแต่งบูตสแตรปดูเหมือนว่าจะส่งแบบอักษรที่มีขนาดแตกต่างจากแบบที่อยู่ภายในแพ็คเกจบู๊ตสแตรปทั้งหมดที่มาพร้อมกับตัวอย่าง ฉันแทนที่ไฟล์และทุกอย่างทำงานได้ดีในขณะนี้ เป็นไปได้มากว่าบั๊กในเครื่องมือกำหนดเองของ bootstrap? ใครจะรู้. ฉันสามารถรายงานเรื่องนี้ที่ไหนสักแห่งเพื่อให้พวกเขาสามารถตรวจสอบได้หรือไม่
scooterlord

2
@ user2261073 คุณสามารถรายงานได้ในโครงการ GitHub ดูเหมือนว่าจะมีรายงานข้อผิดพลาดที่ใช้งานอยู่: github.com/twbs/bootstrap/issues/10008
247702

78

ในกรณีของฉันฉันได้รับ 404 สำหรับglyphicons-halflings-regular.woffและ glyphicons ที่มองไม่เห็นในเบราว์เซอร์มือถือ

ดูเหมือนว่ามีความสับสนเกี่ยวกับประเภท MIME สำหรับ woff มากกว่าหนึ่งประเภท MIME ได้รับการยอมรับโดยเบราว์เซอร์ที่แตกต่างกัน แต่W3C พูดว่า :

application/font-woff

แก้ไข: หลังจากการทดสอบประเภท MIME ต่อไปนี้สำหรับ woff ใช้ได้กับเบราว์เซอร์ทั้งหมดในปัจจุบัน:

application/x-font-woff

แก้ไข: Bootstrap เวอร์ชั่นล่าสุดในเวลานี้ (3.3.5) ใช้ฟอนต์. woff2 ที่มีผลเริ่มต้นเดียวกับ. woff W3C ยังคงกำหนดสเป็คแต่ในขณะนี้ประเภท MIME ดูเหมือนจะเป็น:

application/font-woff2

17
สิ่งนี้ชี้ให้ฉันไปในทิศทางที่ดี แต่มันก็ทำให้ฉันมีคำเตือนอีกครั้งใน Chrome ... ประเภท MIME ควรเป็นจริง: application/x-font-woffในที่สุด Firefox และ Chrome ก็มีความสุข :)
ghiscoding

ขอบคุณนั่นเป็นปัญหาที่แท้จริงสำหรับฉัน ทุกอย่างทำงานได้ดีในท้องถิ่น แต่เมื่อเผยแพร่ไปยัง Azure ประเภท. woff เป็นเพียงปัญหาเดียวเท่านั้น
Kevin Cloet

56

- หากคุณทำตามคำตอบที่ได้รับคะแนนสูงสุด แต่ก็ยังไม่ทำงาน :

Fontโฟลเดอร์ต้องจะอยู่ในระดับเดียวกับโฟลเดอร์ของ CSS การแก้ไขเส้นทางในbootstrap.css จะไม่ทำงาน

Bootstrap.cssจะต้องนำทางไปยังFontsโฟลเดอร์อย่างนี้:

@font-face {
    font-family: 'Glyphicons Halflings';

    src: url('../fonts/glyphicons-halflings-regular.eot');
    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}

3
ฉันคิดว่า 70% ของ Glyphicon ไม่ทำงานในกรณีนี้คำตอบที่ดีฉันมักใส่ไฟล์ Bootstrap css ใน css / bootstrap เพียงแค่เลื่อนพวกเขาขึ้นไปที่ CSS และทุกอย่างทำงานได้
Andiana

1
เส้นทางที่ดีสำหรับฉันดูตรงตามที่คุณกำหนด แต่มันก็ไม่ได้ผลสำหรับฉัน ไม่ดาวน์โหลดแพ็กเกจซอร์สและแทนที่ไฟล์ฟอนต์ ฉันต้องเพิ่มว่า glyphicons บางโหลดในขณะที่คนอื่นไม่ได้ คุณช่วยได้ไหม
Darth Coder

โฟลเดอร์แบบอักษรที่ฉันไม่มีอยู่ที่ไหน
Swift

นอกจากนี้cssโฟลเดอร์จะต้องเป็นโฟลเดอร์ย่อยของโฟลเดอร์ที่มีไฟล์ HTML ของคุณ ดังนั้นอย่างน้อยคุณต้องมี 1) ไฟล์ HTML ของคุณ 2) ไฟล์ CSS ในโฟลเดอร์ย่อยที่เรียกว่าcssและ 3) fontsไฟล์ตัวอักษรในโฟลเดอร์ย่อยที่เรียกว่า
Kivi Shapiro

สิ่งนี้ไม่สร้างความแตกต่างเมื่อโหลดจาก CDN เมื่อโหลดในเครื่องเท่านั้น เพิ่มลิงค์เพื่อ//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.cssแก้ไขให้ฉัน
James Wilkins

47

หากโซลูชันอื่นไม่ทำงานคุณอาจต้องการลองนำเข้า Glyphicons จากแหล่งภายนอกแทนที่จะใช้ Bootstrap เพื่อทำทุกอย่างให้คุณ เพื่อทำสิ่งนี้:

คุณสามารถทำได้ใน HTML:

<link href="https://stackoverflow.com//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">

หรือ CSS:

@import url("//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css")

ให้เครดิตแก่ edsiofi จากกระทู้นี้: Bootstrap 3 Glyphicons CDN


23

ในกรณีที่คนอื่นมาที่นี่และใช้ Bootstrap> = v4.0: การสนับสนุน glyphicon หลุดไป

ส่วนที่เกี่ยวข้องจากบันทึกประจำรุ่น:

วางแบบอักษรไอคอน Glyphicons ลดลง หากคุณต้องการไอคอนตัวเลือกบางอย่างคือ:

Glyphiconsเวอร์ชันต้นน้ำ

Octicons

ตัวอักษรยอดเยี่ยม

ที่มา: https://v4-alpha.getbootstrap.com/migration/#components

หากคุณต้องการใช้ glyphicons คุณต้องดาวน์โหลดแยกต่างหาก

ฉันลองใช้ Font Awesome เป็นการส่วนตัวแล้วมันค่อนข้างดี การเพิ่มไอคอนคล้ายกับวิธี glypicon:

<i class="fas fa-chess"></i>

21

ฉันกำลังดูคำถามเก่า ๆ ของฉันและเนื่องจากสิ่งที่ควรจะเป็นคำตอบที่ถูกต้องจนถึงตอนนี้ฉันได้รับความคิดเห็นจากฉันฉันคิดว่าฉันสมควรได้รับเครดิตสำหรับมันเช่นกัน

ปัญหาโกหกในความจริงที่ว่าไฟล์ฟอนต์ glyphicon ที่ดาวน์โหลดจากเครื่องมือตัวปรับแต่ง bootstrap นั้นไม่เหมือนกันกับไฟล์ที่ดาวน์โหลดจากการเปลี่ยนเส้นทางที่พบในหน้าแรกของ bootstrap สิ่งที่ทำงานตามที่ควรจะเป็นคนที่สามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้:

http://getbootstrap.com/getting-started/#download

ใครก็ตามที่มีปัญหากับไฟล์ Customizer ที่ไม่ดีเก่าควรเขียนทับแบบอักษรจากลิงค์ด้านบน


ปัญหา Customizer ได้รับการแก้ไขเมื่อนานมาแล้ว ไม่มีปัญหาใน Bootstrap ปัจจุบันอีกต่อไป
cvrebert

1
ปัจจุบันพวกเขากำลังอาจจะทำงานเป็นไอคอนประเด็นที่ตั้งของตัวอักษรแทนแม้ว่าวิธีการที่ไอคอนเส้นทางตัวอักษรการทำงานเป็นเอกสาร ...
cvrebert

มีบางสิ่งที่ต้องตรวจสอบสำหรับปัญหานี้ - ตรวจสอบประเภท mime นี้ใน IIS สำหรับเว็บไซต์ของคุณ .. มันจะต้องมีสำหรับหนึ่งในปัญหาข้างต้น ... - application/vnd.ms-fontobject- .eot - application/x-font-woff- .woff - application/x-font-ttf- .ttf - image/svg+xml- .svg
pedram

glyphicons ของฉันทำงานในเบราว์เซอร์ทั้งหมดยกเว้น IE IE จะแสดงพวกเขาในการโหลดครั้งแรก - กด F5 แล้วไม่แสดงอีกต่อไป DOM นั้นถูกต้อง css ที่ใช้นั้นถูกต้อง ฉันหาทางออกไม่เจอ ไอเดีย?
Skychan

1
ฉันสามารถตรวจสอบ / ยกเลิกการเลือก "เนื้อหา:" \ e080 "" CSS ที่ตั้งเนื้อหาเป็นอักขระเฉพาะ เมื่อฉันทำเช่นนั้นขนาดช่วงของการเปลี่ยนแปลงทางกายภาพจากสิ่งที่จะไม่มีอะไรและกลับ ดังนั้นมันจึงรู้สึกเหมือนข้อผิดพลาด IE - ไม่สามารถวาดตัวละครได้
Skychan

18

เว็บไซต์ Azure หายไปการกำหนดค่า MIME Woff คุณต้องเพิ่มรายการต่อไปนี้ใน web.config

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension="woff" mimeType="application/font-woff" />
        </staticContent>
    </system.webServer>
</configuration> 

woff, woff2 and ttfส่วนขยาย?
Kiquenet

16

ในฐานะที่เป็น @Stijn อธิบายที่ตั้งเริ่มต้นในการไม่ถูกต้องเมื่อติดตั้งแพคเกจนี้จากBootstrap.cssNuget

เปลี่ยนหัวข้อนี้เป็นดังนี้:

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('Content/fonts/glyphicons-halflings-regular.eot');
  src: url('Content/fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded- opentype'), url('Content/fonts/glyphicons-halflings-regular.woff') format('woff'), url('Content/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('Content/fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

1
หากคุณใช้ LESS คุณสามารถแทนที่ได้ในไฟล์ที่น้อยลงและเปลี่ยน URL เพื่อจับคู่พา ธ สัมพัทธ์จากไฟล์ CSS หรือรูทพวกเขา
Chris Searles

นี่ไม่ควรเป็นปัญหากับ bootstrap รุ่นล่าสุดอีกต่อไป Update!
dball

11

คุณสามารถเพิ่มบรรทัดของรหัสนี้และทำ

<link href="https://stackoverflow.com//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">

ขอบคุณ


นี่เป็นไอคอนใหม่ที่เพิ่มใน v3 รุ่นใหม่กว่านี้
James Wilkins

คำตอบที่สมบูรณ์แบบสำหรับฉันต่อไป
thonnor

8

IIS จะไม่ใช่.woffไฟล์เซิร์ฟเวอร์ตามค่าเริ่มต้นดังนั้นใน IIS คุณจะต้องเพิ่ม<mimeMap>รายการในweb.configไฟล์ของคุณ

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
        </staticContent>
    </system.webServer>
</configuration>

สิ่งนี้ปรับขนาดได้ดีกว่าแทนที่จะต้องจำการกำหนดค่านี้สำหรับเครื่อง IIS แต่ละเครื่อง การกล่าวถึงที่ดี
Matty Bear

คุณควรอัปเดต mimetype ของคุณให้เป็น "application / font-woff" ตามมาตรฐานปัจจุบัน: stackoverflow.com/a/5142316/2267817
เรียนรู้

application / font-woff เทียบกับ application / x-woff ?
Kiquenet

7

คุณมีไฟล์ด้านล่างทั้งหมดในไดเรกทอรีแบบอักษรของคุณหรือไม่

glyphicons-halflings-regular.eot
glyphicons-halflings-regular.svg
glyphicons-halflings-regular.ttf
glyphicons-halflings-regular.woff

นี่คือคำตอบที่ถูกต้อง บุคคลสามารถค้นหาโฟลเดอร์ที่ถูกต้องเพื่อวางไฟล์เหล่านี้โดยใช้ลิงค์นักสืบของ Xenu: home.snafu.de/tilman/xenulink.html
Nav

2
แต่มีผู้ที่มีไฟล์เหล่านี้ทั้งหมดในโฟลเดอร์แบบอักษร แต่ยังคงได้รับข้อผิดพลาดนี้หาก mime ประเภท woff ไม่ได้ลงทะเบียนกับ IIS
Stack0verflow

ต้องระบุไดเรกทอรีแบบอักษรหรือไม่ ฉันมีเฉพาะbootstrap.css และ bootstrap.js
Kiquenet

7

ฉันแก้ไขไฟล์ less.less น้อยของฉันฉันแก้ไขตัวแปร

@icon-font-path:          "fonts/";    

เดิมคือ

@icon-font-path:          "../fonts/"; 

มันทำให้เกิดปัญหา


2
สำหรับบูต-เขื่อง 3.2.0.1 $icon-font-path: "/assets/bootstrap/"อัญมณีดูเหมือนว่าจะจำเป็น
Joshua Muheim

วิธีทำงานกับ bootstrap อย่างแน่นอนและไม่ขัดกับมัน
Hampster

6

นี่เป็นเพราะการเขียนโค้ดผิดพลาดใน bootstrap.css และ bootstrap.min.css เมื่อคุณดาวน์โหลด Bootstrap 3.0 จาก Customizer รหัสต่อไปนี้จะหายไป:

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

เนื่องจากนี่คือรหัสหลักสำหรับการใช้ Glyphicons มันจะไม่ทำงาน ...

ดาวน์โหลดไฟล์ css จากชุดเต็มและรหัสนี้จะถูกนำไปใช้


6

นี่คือเหตุผลทำไมไอคอนไม่แสดงขึ้นมาสำหรับฉัน:

* {
    arial, sans-serif !important;
}

หลังจากที่ฉันได้ลบส่วนนี้ของฉันCSSทุกอย่างทำงานเหมือนที่ควร สิ่งสำคัญคือสิ่งที่ทำให้เกิดปัญหา


ขอบคุณ! หลังจากเกาหัวของฉันนานกว่า 4 ชั่วโมงและลองทำสิ่งต่าง ๆ มากมายฉันจำได้ว่าฉันเพิ่มฟอนต์ใน "span" ด้วยสิ่งสำคัญ ลบออกแล้วทุกอย่างกลับสู่ปกติ ..
Ali Haider

5

ปัญหา / วิธีแก้ไขอื่นอาจมีรหัส Bootstrap 2.x นี้:

<button class="btn" ng-click="open()"><i class="icon-calendar"></i></button>

และเมื่อย้ายข้อมูลตามคู่มือ ( .icon-* ---> .glyphicon .glyphicon-*):

<button class="btn btn-default" ng-click="open()"><i class="glyphicon-calendar"></i></button>

คุณลืมที่จะเพิ่มคลาสไอคอน (มีการอ้างอิงแบบอักษร):

<button class="btn btn-default" ng-click="open()"><i class="glyphicon glyphicon-calendar"></i></button>

5

ด้านล่างคือสิ่งที่แก้ไขให้ฉัน ฉันได้รับข้อผิดพลาด "URI ที่ไม่ดี" ที่ใช้ในคอนโซล Firebug ไอคอนแสดงเป็นตัวเลข E ### ฉันต้องเพิ่มไฟล์. htaccess ในไดเรกทอรี 'แบบอักษร' ของฉัน <FilesMatch "\.(ttf|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch> เป็นไปได้ที่ซ้ำกันของ: แบบอักษรที่สามารถดาวน์โหลดได้บน firefox: URI ที่ไม่ดีหรือการเข้าถึงข้ามไซต์ไม่ได้รับอนุญาต


5

นี่เป็นการถ่ายทำที่ยาวนานมาก แต่มันเป็นกรณีของฉันและเนื่องจากมันไม่ได้อยู่ที่นี่แล้ว

หากคุณกำลังรวบรวม Bootstrap Twitter จาก SASS โดยใช้gulp-sassหรือgrunt-sassเช่น node-sass. ตรวจสอบให้แน่ใจว่าโมดูลโหนดของคุณทันสมัยโดยเฉพาะอย่างยิ่งหากคุณกำลังทำงานในโครงการที่ค่อนข้างเก่า

ปรากฎว่าในบางเวลากลับคำสั่ง SASS @at-rootถูกนำมาใช้ในคำนิยามของ@font-faceใน glyphicons ให้ดูhttps://github.com/twbs/bootstrap-sass/blob/b01ab4942233bd7316a0634472e1243b13fb9f46 .

gotcha นี่คือนั่นnode-sassคือ libsassไม่สนับสนุน@at-rootคำสั่งถ้ามันเก่าเกินไป หากเป็นกรณีนี้คุณจะได้รับการ@font-faceห่อหุ้ม@at-rootซึ่งเบราว์เซอร์ไม่ทราบว่าจะทำอย่างไร ผลที่ตามมาคือไม่มีการดาวน์โหลดแบบอักษรและคุณอาจเห็นขยะแทนที่จะเป็นไอคอน


4

หมายเหตุ: ด้านล่างเป็นสถานการณ์เฉพาะ แต่ฉันต้องการแบ่งปันในกรณีที่คนอื่นอาจพบว่ามีประโยชน์

ในโครงการรถไฟเรากำลังนำอัญมณีที่ใช้เครื่องยนต์ Rails มาใช้bootstrap-sassใหม่ ทุกอย่างเป็นไปด้วยดีในโครงการหลักโดยมีข้อยกเว้นของการแก้ไขพา ธ แบบอักษร glyphicon

GET http://0.0.0.0:3000/fonts/bootstrap/glyphicons-halflings-regular.woff 404 (Not Found) 

เราพบว่า$bootstrap-sass-asset-helperเป็นfalseระหว่างการแก้ปัญหาเมื่อเราคาดว่ามันจะเป็นจริงดังนั้นเส้นทางที่แตกต่างกัน

เราทำให้การ$bootstrap-sass-asset-helperเริ่มต้นในอัญมณีเครื่องยนต์โดยทำ:

// explicit sprockets import to get glyphicon font paths correct
@import 'bootstrap-sprockets';
@import "bootstrap/variables";

เช่นนี้ทำให้เส้นทางการแก้ไขไปที่:

/assets/bootstrap/glyphicons-halflings-regular.woff

อีกครั้งสิ่งนี้ไม่จำเป็นสำหรับโครงการรถไฟทั่วไปที่ใช้bootstrap-sassเราเพิ่งจะใช้มุมมองมากมายและนี่ก็เป็นประโยชน์สำหรับเรา หวังว่านี่จะช่วยคนอื่นได้


4

นี่คือสิ่งที่เอกสารทางการบอกว่าเกี่ยวกับแบบอักษรที่ไม่แสดงผล

การเปลี่ยนตำแหน่งไอคอนตัวอักษร Bootstrap ถือว่าไฟล์ตัวอักษรไอคอนจะอยู่ในไดเรกทอรี ../fonts/ ซึ่งสัมพันธ์กับไฟล์ CSS ที่คอมไพล์แล้ว การย้ายหรือเปลี่ยนชื่อไฟล์ฟอนต์เหล่านั้นหมายถึงการอัปเดต CSS ในหนึ่งในสามวิธี: เปลี่ยนตัวแปร @ icon-font-path และ / หรือ @ icon-font-name ในไฟล์ Less Less ของแหล่งที่มา ใช้ประโยชน์จากตัวเลือก URL สัมพัทธ์ที่จัดทำโดย Less compiler เปลี่ยนเส้นทาง url () ใน CSS ที่คอมไพล์แล้ว ใช้ตัวเลือกใดก็ได้ที่เหมาะสมที่สุดกับการตั้งค่าการพัฒนาของคุณ

นอกเหนือจากนั้นอาจเป็นไปได้ว่าคุณพลาดที่จะคัดลอกโฟลเดอร์ฟอนต์ไปยังไดเรกทอรีราก


ฉันพลาดการคัดลอกโฟลเดอร์แบบอักษรที่ฉันไม่รู้ว่าอยู่ที่ไหนใครช่วยฉันได้บ้าง
Swift

3

ฉันมีปัญหานี้และมันเกิดจากไฟล์แปรปรวน การแทนที่มันเพื่อตั้งค่าไอคอน-font-path แก้ปัญหาได้

โครงสร้างไฟล์มีลักษณะดังนี้:

\Content
        \Bootstrap
        \Fonts
 styles.less
 variables.less

การเพิ่มไฟล์แปรปรวนของฉันเองลงในรูทของเนื้อหาและการอ้างอิงสิ่งนี้ใน styles.less แก้ไขข้อผิดพลาด 404

Variables.less ประกอบด้วย:

@icon-font-path:          "fonts/";

สิ่งนี้ช่วยให้ฉันรู้ว่าฉัน nuked ตัวแปรเส้นทางของฉัน ... สุ่ม แต่ใช่ขอบคุณ!
Taylor A. Leach

3

ฉันได้รับ Bootstrap จาก NuGet เมื่อฉันเผยแพร่ไซต์ของฉันร่ายมนตร์ไม่ทำงาน

ในกรณีของฉันฉันใช้งานได้โดยการตั้งค่า Build Action สำหรับแต่ละไฟล์ฟอนต์เป็น 'เนื้อหา' และตั้งเป็น 'คัดลอกเสมอ'


3

ฉันมีรหัสความกว้างของกล่อง \ e094 สำหรับ glyphicon-arrow-down อันที่จริงฉันแก้ไขปัญหาที่เพิ่มglyphiconใน css class เช่นนั้น:

<i class="glyphicon  glyphicon-arrow-down"></i>

ถ้ามันสามารถช่วยใครบางคน ...


เพื่อนนี่เป็นปัญหาของฉันด้วยการใช้ CDN
Richard Barker

3

ตรวจสอบให้แน่ใจว่าคุณไม่ได้ระบุตระกูลแบบอักษรมากเกินไป

*{font-family: Verdana;}

จะลบฟอนต์ halflings ออกจากองค์ประกอบ i


3

ฉันมีปัญหาเดียวกันกับที่เบราว์เซอร์ไม่สามารถหาไฟล์ตัวอักษรและปัญหาของฉันเกิดจากการยกเว้นในไฟล์. htaccess ของฉันซึ่งเป็นไฟล์ที่อนุญาตพิเศษที่ไม่ควรส่งไปindex.phpประมวลผล เนื่องจากไฟล์ฟอนต์ไม่สามารถโหลดได้อักขระจึงถูกแทนที่ด้วย BLOB

RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|svg|css|js|ico|rss|xml|json)$
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^ index.php [L,QSA]

อย่างที่คุณเห็นไฟล์ต่าง ๆ เช่นรูปภาพ rss และ xml จะถูกแยกออกจากการเขียนใหม่ แต่ไฟล์ฟอนต์นั้นเป็นไฟล์.woffและ.woff2ไฟล์ดังนั้นสิ่งเหล่านี้จึงจำเป็นต้องเพิ่มในรายการที่อนุญาต

RewriteCond %{REQUEST_URI} !\.(jpg|png|gif|svg|css|js|ico|rss|xml|json|woff|woff2)$
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^ index.php [L,QSA]

การเพิ่มwoffและwoff2ไปยังรายการที่อนุญาตอนุญาตให้โหลดไฟล์ฟอนต์และ glyphicons ควรแสดงอย่างถูกต้อง


2

คุณต้องตั้งค่าตามคำสั่งนี้:

<link rel="stylesheet" href="path/bootstrap.min.css"> 
<style type="text/css"> 
     @font-face {   font-family: 'Glyphicons Halflings';   
     src: url('../fonts/glyphicons-halflings-regular.eot');   
     src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), 
     url('../fonts/glyphicons-halflings-regular.woff') format('woff'),  
     url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), 
     url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); } 
</style>

2

สิ่งที่ใช้ได้ผลสำหรับฉันคือการเปลี่ยนเส้นทางจาก:

@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('../fonts/glyphicons-halflings-regular.eot');
  src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');
}

ถึง

@font-face {
  font-family: 'Glyphicons Halflings';

  src: url('/assets/glyphicons-halflings-regular.eot');
  src: url('/assets/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),
  url('/assets/fonts/glyphicons-halflings-regular.woff') format('woff'),
  url('/assets/glyphicons-halflings-regular.ttf') format('truetype'),
  url('/assets/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}


2
@font-face {
     font-family: 'Glyphicons Halflings';
      src: url('../fonts/glyphicons-halflings-regular.eot');
      src: url('../fonts/glyphicons-halflings-regular.eot?#iefix')         format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg');}

ฉันใช้ bootstrap กับเนมสเปซและ glyphicons ไม่ทำงาน แต่หลังจากเพิ่มบรรทัดด้านบนในโค้ด glyphicons ทำงานได้ดี


2

ฉันเพิ่งเปลี่ยนชื่อตัวอักษรจาก bootstrap.css โดยใช้ Ctrl + c, Ctrl + v และใช้งานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.