How to set a:link height/width with css?

HtmlCss

Html Problem Overview


I just can't set the height and width of a elements of my navigation.

#header div#snav div a{
	width:150px;
	height:77px;
}

#header div#snav div a:link{
	width:150px;
	height:77px;
}


#header div#snav div a:hover{
	height:77px;
	background:#eff1de;
}

Any ideas what I am doing wrong?

Html Solutions


Solution 1 - Html

add display: block;

a-tag is an inline element so your height and width are ignored.

#header div#snav div a{
    display:block;
    width:150px;
    height:77px;
}

Solution 2 - Html

Anchors will need to be a different display type than their default to take a height. display:inline-block; or display:block;.

Also check on line-height which might be interesting with this.

Solution 3 - Html

Your problem is probably that a elements are display: inline by nature. You can't set the width and height of inline elements.

You would have to set display: block on the a, but that will bring other problems because the links start behaving like block elements. The most common cure to that is giving them float: left so they line up side by side anyway.

Solution 4 - Html

From the definition of height:

> Applies to: all elements but non-replaced inline elements, table columns, and column groups

An a element is, by default an inline element (and it is non-replaced).

You need to change the display (directly with the display property or indirectly, e.g. with float).

Solution 5 - Html

Thanks to RandomUs 1r for this observation:

> changing it to display:inline-block; solves that issue. – RandomUs1r May 14 '13 at 21:59

I tried it myself for a top navigation menu bar, as follows:

First style the "li" element as follows:
> display: inline-block;
> width: 7em;
> text-align: center;

Then style the "a"> element as follows:
> width: 100%;

Now the navigation links are all equal width with text centered in each link.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionUpCatView Question on Stackoverflow
Solution 1 - HtmlStijn JanssenView Answer on Stackoverflow
Solution 2 - HtmlCobra_FastView Answer on Stackoverflow
Solution 3 - HtmlPekkaView Answer on Stackoverflow
Solution 4 - HtmlQuentinView Answer on Stackoverflow
Solution 5 - Htmluser123318View Answer on Stackoverflow