Question: I have a page that is listing links to other websites. Each link is followed by a brief description of the site being linked to. I want the link text to be slightly larger than the description so I added a CSS class definition a.link, in which I define font-size as 16px. The complete list is inside a standard `<p>` tag and I have `<hr>` tags in between each list item. The problem is that only the first link in the list gets the new font-size. Each link after the first loses all styles defined not only in the link class definition, but in the `<p>` tag as well. If I remove the `<hr>` tags, every item in the list is correctly styled. If I wrap each link in the list inside a `<p>` tag, they also are styled correctly, but I'd rather not clutter up the list with extra tags if possible

Here is my stylesheet code:

```
#pane {
    float: right;
    width: 800px;
}

#pane p {
    margin-left: 15px;
    font-family: verdana;
    font-size: 12px;
}

#pane p a.link { font-size: 16px; }

```

Here is a sample of the HTML generated:

```
<div id="pane">
<p>
    <a href="http://www.google.com" class="link">Google</a> - For finding stuff
    <hr>
    <a href="http://www.newegg.com" class="link">Newegg</a> - For buying stuff
    <hr>
</p>
</div>

```

Has anyone else encountered this behavior and found a way to fix it with adding `<p>` tags everywhere?

Answer: 
A collection of links is probably more suited to an unordered list (`UL`) perhaps inside a `NAV`.

Your issue is caused because `HR` inside of `P` doesn't [validate](http://validator.w3.org/) (and for a good reason). To confirm, I used this sample:

```
<!doctype html>
<html>
<head>
    <title>Test</title>
</head>
<body>
<div id="pane">
<p>
    <a href="http://www.google.com" class="link">Google</a> - For finding stuff
    <hr>
    <a href="http://www.newegg.com" class="link">Newegg</a> - For buying stuff
    <hr>
</p>
</div>
</body>
</html>

```

> 
> A p element’s end tag may be omitted if the p element is immediately
>  followed by an ...HR...
> 
> 
> 

Source: <http://www.w3.org/TR/html-markup/p.html#p>

As @Bill pointed out, this leads to the parser closing the `P` when you don't expect it.

An `HR` [reprsents a thematic break](http://www.w3.org/TR/html-markup/hr.html#hr), which is semantically invalid inside of a paragraph. Logically (at least in English) a paragraph is supposed to [contain a collection of related thoughts on a single theme](http://en.wikipedia.org/wiki/Paragraph), so this makes sense.
I think that you have problem with your HR tag, 
in XHTML you have to close your tag.
So your HR should look like `<hr/>`

```
    <div id="pane">
<p>
    <a href="http://www.google.com" class="link">Google</a> - For finding stuff
    <hr/>
    <a href="http://www.newegg.com" class="link">Newegg</a> - For buying stuff
    <hr/>
</p>
</div>

```

Than it should work, no reason not to.