I have two fonts, Cooper Black and Cooper Hilite. I would like to place them on top of each other, as in this image: http://viewerslikeu.squarespace.com/storage/720x360_1.png
Any takers?
I have two fonts, Cooper Black and Cooper Hilite. I would like to place them on top of each other, as in this image: http://viewerslikeu.squarespace.com/storage/720x360_1.png
Any takers?
 
    
    Well, one way of doing it purely with CSS is by using the :after pseudo element.
Check this fiddle: http://jsfiddle.net/4xgdv/
The original element is relative and its pseudo child is absolute at 0, 0 to ensure that it properly overlays the original element.
HTML
<div class="doublefont">HELLO</div>
CSS You can remove the div. part to make it applicable to all elements
div.doublefont {
    position: relative;
    color: red;
    font-family: arial;
}
div.doublefont:after {
    content: "HELLO";
    color: blue;
    font-family: tahoma;
    position: absolute;
    top: 0;
    left: 0;
}
Making it generic
You can add a little bit of JS to automatically have all elements on your page with a class doublefont to show up with superimposed fonts. That is, you need to simply put in elements like <div class="doublefont">My text..</div> and the following JS in combination with the above CSS will do the rest. You can place the following JS into the <head> of your page.
$('.doublefont').each(function() {
     $(this).attr('content', $(this).html());
});
Updated Fiddle: http://jsfiddle.net/4xgdv/1/
Also, take a look at this related answer. This is from where I got the attr(content) hint.
Selecting and manipulating CSS pseudo-elements such as ::before and ::after using jQuery
 
    
     
    
    Add position:relative to your first and the second font and add top:-20px or whatever (value should be negative) is the size of the font and specify z-index:2 to the font you want to be above and z-index:1 to the font you want below...
Example
.first {
font-size:20px;
position:relative;
z-index:2;
}
.second {
position:relative;
top:-20px;
z-index:1;
}
 
    
    Put both the text with different fonts in seperate Div's & add css position:absolute to both th divs & wrap these two divs with a div with position absolute.
<div style="position:relative">
  <div style="position:absolute; z-index:2;">Content with different fonts(On Bottom)</div>
  <div style="position:absolute; z-index:3;">Content with different fonts (On top)</div>
</div>
 
    
    Absolutely positioning two <div> elements (or similar) would create the effect, but don't forget to give one a higher z-index to make it the 'overlayed' font.
HTML
<html>
    <head></head>
    <body>
        <div class="first-font-positioned">This is my Frankenfont</div>
        <div class="second-font-positioned">This is my Frankenfont</div>
    </body>
</html>
CSS
.first-font-positioned{
    font-family: Cooper Hilite;
    font-size:30px;
    position:absolute;
    top:100px;
    left:100px;
    z-index:100;
}
.second-font-positioned{
    font-family: Cooper Black;
    font-size:30px;
    position:absolute;
    top:100px;
    left:100px;
}
 
    
    This would be possible without altering the HTML, but you would have to use a bit of javascript (jQuery).
$('p.layerfont').each(function(index) {
    $(this).wrap('<div class="layerwrap" />');
    var ptext = $(this).text();
    $(this).css('position: absolute;');
    $(this).after('<p class="toplayer">'+ptext+'</p>');
});
This wraps each paragraph in a containing div, then adds another paragraph with the same text both of which are absolutely positioned on top of each other.
