I am trying to load a custom font in my website. In my style.css I have the following attributes declared
#font-face {
font-family: billabong;
src: url('./fonts/billabong.ttf');
font-weight: bold;
}
h1.header {
font-family: billabong;
}
And in my html I have the following code;
<h1 class="header">Welcome to</h1>
However, it seems to be defaulting to some other font type so i assume it cannot find it.
The font is back one directory from my css file, and inside a folder called fonts, have i provided the correct path for it to find it? If this is not the issue does anyone know what I am doing wrong?
try adding Apostrophes in the font-family attribute.
font-family: 'billabong';
Also use more formats. not all browsers support ttf.
read more about that here:http://socialcompare.com/en/comparison/browser-fonts-support-comparison
You could export ttf to webfont here: http://www.font2web.com/
I think the only problem here is your directory.
Try first putting your font file all the way up to the same directory as your html file.
Then try this code:
#font-face {
font-family: billabong;
src: url(billabong.ttf);
font-weight: bold;
}
h1.header {
font-family: billabong;
}
If this doesn't work try putting your font-weight:bold; into the header class see if that helps.
If it works then put it back to where you had it. I hate to guess but as i understand you have a fonts file inside your css file. I am assuming that your html file is one directory higher than your css file. In that case you can say
#font-face {
font-family: billabong;
src: url(css/fonts/billabong.ttf);
font-weight: bold;
}
h1.header {
font-family: billabong;
}
You don't need to use apostrophes for your attribute or source url i have made many websites using custom fonts and haven't seen a problem with compatibility and such.
In any case i would always refer to the w3schools website they explain it the best way:
http://www.w3schools.com/cssref/css3_pr_font-face_rule.asp
Hopefully that helps.
Related
I know it's been asked before, only none of the offered solutions seems to function for me. Sorry, I must be doing something wrong, but what?
I'm testing with Chilanka, because it's distinctive enough so I can see at a glance whether I've got this font or whether the browser defaulted to something resembling it.
I downloaded it and copied the Chilanka-Regular.ttf file both to /usr/share/fonts and to the directory containing my index.html file. Now Chilanka functions with kolorpaint (it didn't before), so the .ttf file seems OK.
I tried to include it in the web page :
<link href="Chilanka-regular.ttf">
<style>
/*#font-face {
font-family: Chilanka-regular;
src: url('Chilanka-regular.ttf');
} */
#font-face {
font: Chilanka-regular;
font-family: 'Chilanka-regular';
src: local("Chilanka-regular.ttf");
url('Chilanka-regular.ttf') format('truetype'),
font-weight: normal;
font-style: normal;
}
.chilanka-text {
font-size: 20px;
/*font-color: green; This syntax is within the <p> tag*/
color: green;
/* font: Chilanka-regular;
font-family: Chilanka-regular; */
font-family: 'Chilanka';
font-weight: normal;
font-style: normal;
}
</style>
Then I have :
<div name="chilanka-text" class="chilanka-text" id = "chilanka-text">
blabla
</div>
I shift/reload the page (firefox, but I would like it to function on all browsers)
The colour changes but no Chilanka.
Please help
Chilanka is available as an Google Font. See: https://fonts.google.com/specimen/Chilanka#standard-styles
Here you can select the font types you want to use and they will give you the correct options to load the fonts in you website <head> with <link or #import. Note that how more fonts and font styles (regular, bold etc) you add the longer it takes the visitor to load you website the first time.
Use CSS rules to specify families like
h1,h2,h4 {
font-family: 'Chilanka', cursive;
}
Local (Offline environment)
If you really need to use the fonts from your local files because it runs offline also check if the url to the font file is correct <link href="Chilanka-regular.ttf"> or <link href="/Chilanka-regular.ttf"> or <link href="/fonts/Chilanka-regular.ttf"> etc.
Check if the font can load
There can be multiple things going on. your first course of action should be to check weither the font is loading.
depending on how you host/serve your website. there should be an attempt by the browser to request the font. And a response from the server.
you can check this using your browser inspector/developer tools
#font-face {
font-family: myInvalidFont;
src: url("https://www.w3schools.com/cssref/sansation_light.woff");
}
#font-face {
font-family: myFirstFont;
src: url("https://fonts.gstatic.com/s/fascinate/v21/z7NWdRrufC8XJK0IIElS07zR.woff2");
}
.font {
font-family: myFirstFont;
color: green;
}
.font-invalid {
font-family: myInvalidFont;
color: darkred;
}
<h1>The #font-face Rule</h1>
<div class="font">this works, so i oooks kinda fancy</div>
<div class="font-invalid">this doesn't load due to cors</div>
Once you're certain that the font is loading, you can start to debug the css, or debug why it's not being served.
Include some information of the way you're serving content.
The server technologies differ (apache/iis/kestrel/php). sometimes there's build steps involved (like webpack).
Make absolutely sure the font is loading
The browser should attempt to load the file.
If its not showing up in the dev-tools network tab.
Move your #font-face rule to the top of your css file. Check if the css 100% valid.
If it does show up, but not as a 200 ok. Resolve the error code displayed, it might be CORS, might be an incorrect path, etc.
See this gif: it might help you find the issue.
I was in the same situation 4 months ago I tried to download a font and run it locally before (google font lobster) and it didn't work, Try to use the URL provided or the CDN provided instead of downloading it and running it locally.
I have downloaded the font and added it to the Atom text editor but it doesn't seem to work...
<style type="text/css">
#font-face {
font-family: "avocado";
src: url("AvocadoCreamy.ttf");
src: url("AvocadoCreamy.otf");
}
h1 {
color: hsl(93, 100%, 51%);
text-align: center;
font-family: "avocado";
}
</style>
In your case, while using the #font-face tag, maybe the address to the URL provided is wrong or incomplete. Try the full address if the font file is locally downloaded.
The font file can be directly written to URL if it exists in the same directory as the CSS file.
Also, I would recommend the use of #import tag to import fonts in CSS.
#import url('/*YOUR URL TO FONT HERE*/');
Assuming you've copied the font file into your root folder (where your index.html file usually is). Instead of a '.ttf' or '.otf', '.woff' or '.woff2' work best for web fonts so consider using that if available. Also make sure the name used i 'src' is exactly the same as the file name in your root folder.
see https://css-tricks.com/snippets/css/using-font-face/
also How to include a font .ttf using CSS?
#font-face {
font-family: "avocado";
src: url("AvocadoCreamy.ttf") format("truetype");
font-style: normal;
font-weight: 400;
}
i want to add a custom font to my html page, but it does not work, i tried everything possible, checked other questions, trying to solve it their way, but nothing.
the font is in the same folder as my html file(the css is in the html file)
In html css i wrote:
#font-face {
font-family: regular;
src: url("8bitoperator_jve.ttf");
//src: local("8bitoperator_jve.ttf"); i tried this too
}
body {
background-color: #000;
color: #FFF;
font-family: regular;
}
The src attribute of #font-face specifies the resource containing the font data. This can be:
url: a URL to a remote font file location;
local: the name of a font on the user's computer.
In your case, you are passing a URL to local. Instead, you should use url:
#font-face {
src: url('8bitoperator_jve.ttf');
}
If you want, you can also use both. But remember to give precedence to local, i.e.:
#font-face {
src: local('Name of your font here'), url('8bitoperator_jve.ttf');
}
You should find a specific font in local, but a font file in url. I mean, the local font doesn't need any path or file extension whereas a font file need it. If you want to target a local files first you can try like that:
#font-face {
font-family: regular;
src: local("8bitoperator_jve"),url("8bitoperator_jve.ttf") format('truetype');
}
Also you can try loading the font-face from an external CSS file.
I have recently been trying to embed font to my website. I don't get it to work, i have watched and read tutorials. I wan't to embed a font called "Ubuntu Light" in ttf format. This is what i have been trying:
#logBtn{
font-family: 'UbuntuLight';
}
#font-face{
font-family: "UbuntuLight";
src: url("CSS/Ubuntu-L.ttf");
}
And the file in the folder: Treeview of project
I'm almost new to this, i've been coding HTML and CSS in maybe 4 months now.
I have been stuck at this before, and that made me cancel my project, because i gave up. But i don't want to give up again. So i would really appreciate some help! :)
You can embed a font quick and easy by using this code:
#font-face {
font-family: 'Name';
src: url('Font.ext');
font-weight: 400;
font-style: normal;
}
Where Font.ext should be replaced with your font file and its extention (file type) e.g.
src: url('Ubuntu-L.ttf');
And the following font-weight and font-style should be referencing the specific font choice.
The url(...) path is relative to the stylesheet.
Therefore, because your stylesheet is in the CSS folder you don't need to include that in the url:
#font-face{
font-family: "UbuntuLight";
src: url("Ubuntu-L.ttf");
}
I am trying to add a local font to a site I am testing. It is called "AcrosstheRoad.ttf" and can be found in my assets/fonts/ folder. I am doing the following to try to read it into the CSS file:
#font-face {
font-family: 'AcrosstheRoad';
src: url('assets/fonts/AcrosstheRoad.ttf') format('truetype');
}
And I want to use it as a certain header type so I am using
h3{
font-family: 'AcrosstheRoad';
color: #333;
}
But unfortunately the font is not loading in. Does anyone know what I'm doing wrong?
Thanks!
Christina
First add a slash before assets:
(('/assets/fonts/AcrosstheRoad.ttf'))
That may or may not be the problem, depending on where your CSS file is, and how your website is structured.
If the above doesn't work, convert the font to .woff2 and .woff (try using this: http://www.fontsquirrel.com/tools/webfont-generator). The reasoning behind this is that some browsers are really picky. Change your CSS to:
#font-face {
font-family: 'AcrosstheRoad';
src: url('/assets/fonts/AcrosstheRoad.woff2') format('woff2'),
url('/assets/fonts/AcrosstheRoad.woff') format('woff');,
url('/assets/fonts/AcrosstheRoad.ttf') format('truetype');
}