Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Overflow for background color of text

I applied background color to the links in my country list. It works well in general:

enter image description here

However, for the countries which have longer name, it doesn't work very well.

enter image description here

I'm trying to make the yellow color overflow everything and show country's full name clearly.

HTML:

<div class="flagList">
<div class="flagColumn"> ... </div>
<div class="flagColumn"> ... </div>
<div class="flagColumn"> ... </div>
...
</div>

CSS:

.flagColumn {
    width: 33%;
    float: left;
    border:0px solid;
    height:1.6em;
    overflow:hidden;
    white-space:nowrap; 
    text-overflow:ellipsis;
    z-index: 1; position:relative;
}

.flagColumn:hover {
   overflow:visible;
   z-index: 2; position:relative;
   display: inline;
   background-color:yellow;
}
like image 506
Ned Avatar asked Nov 03 '14 15:11

Ned


1 Answers

You can do this by wrapping the content of .flagColumn in an extra element, setting it to display: inline-block; and setting the background on that instead:

.flagColumn {
    float: left;
    height: 1.6em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 33%;
    z-index: 1;
}
.flagColumn:hover {
    overflow: visible;
    position: relative;
    z-index: 2;
}
.flagColumn:hover span {
    background-color: yellow;
    display: inline-block;
    height: 100%;
}
<div class="flagList">
    <div class="flagColumn"><span>This is test text!</span></div>
    <div class="flagColumn"><span>This is a lot longer test text! This is a lot longer test text!</span></div>
    <div class="flagColumn"><span>This is a lot longer test text! This is a lot longer test text!</span></div>
</div>

JS Fiddle: http://jsfiddle.net/hL9qfuvb/1/

like image 84
Hidden Hobbes Avatar answered Nov 05 '22 12:11

Hidden Hobbes