I am using Iceweasel (rebranded Firefox) browser on Debian with XFCE4.
I defined the alias rule in my ~ / .config / fontconfig / fonts.conf file.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>Consolas</family>
<prefer><family>DejaVu Sans Mono</family></prefer>
</alias>
</fontconfig>
The conclusion fc-matchconfirms that Consolasit will now be replaced as DejaVu Sans Mono.
lone@debian:~$ fc-match Consolas
DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book"
lone@debian:~$ fc-match Courier
n022003l.pfb: "Nimbus Mono L" "Regular"
Now see the following browser output for JSFiddle: http://jsfiddle.net/yyvgcw02/ .

The above screenshot shows that the browser used correctly DejaVu Sans Monofor Consolasand Nimbus Mono Lfor Courier.
However, I expected it to use DejaVu Sans Monofor Consolas, Courier, but the above output shows what it used Nimbus Mono Lfor again Consolas, Courier?
DejaVu Sans Mono Consolas, Courier, Consolas , , .. DejaVu Sans Mono, ?
~/.config/fontconfig/fonts.conf . fc-match .
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family"><string>Consolas</string></test>
<edit name="family"><string>DejaVu Sans Mono</string></edit>
</match>
</fontconfig>
, . binding="strong" edit, , ~/.config/fontconfig/fonts.conf, DejaVu Sans Mono font-family: Consolas, Courier, .
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="family"><string>Consolas</string></test>
<edit name="family" binding="strong"><string>DejaVu Sans Mono</string></edit>
</match>
</fontconfig>

, binding="strong" , DejaVu Sans Mono font-family: Consolas, Courier Debian?
binding="strong", fc-match Consolas DejaVuSansMono.ttf: "DejaVu Sans Mono" "Book", DejaVu Sans Mono ?