Skip to content

Instantly share code, notes, and snippets.

@kizu
Created June 19, 2013 20:04
Show Gist options
  • Save kizu/5817557 to your computer and use it in GitHub Desktop.
Save kizu/5817557 to your computer and use it in GitHub Desktop.
The most closest fix for the
/* The most closest fix for the
http://stackoverflow.com/q/7309593/885556 problem */
.b-wrapper {
padding-right: 10px;
}
.b-shrinker {
display: inline-block;
max-width: 100%;
height: 1.25em;
padding: 5px;
margin: 0 0 5px;
overflow: hidden;
border: 1px solid blue
}
.b-shrinker__left {
background: rgba(0,255,0,0.25);
display: block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.b-shrinker__right {
float: right;
margin: 0 0 0 5px;
background: rgba(255,0,0,0.25);
}
/* For Firefox */
@-moz-document url-prefix() {
.b-wrapper_fixed .b-shrinker {
display: inline-flex;
flex-direction:row-reverse;
}
.b-wrapper_fixed .b-shrinker__left {
/* magic number, yeah, but… */
/* it should be really big to override the bug */
flex-shrink: 1000000000;
}
}
<h2>Broken in Fx</h2>
<p>Left part shrinks too much if it's shorter than right one.</p>
<div class="b-wrapper">
<div class="b-shrinker">
<div class="b-shrinker__right">Right part</div>
<div class="b-shrinker__left">Some very long string. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__right">Right part</div>
<div class="b-shrinker__left">Short string</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__left">Short string, no right part</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__right">Long, long, long right part</div>
<div class="b-shrinker__left">Short string</div>
</div>
</div>
<h2>Fixed using some flexboxing:</h2>
<div class="b-wrapper b-wrapper_fixed">
<div class="b-shrinker">
<div class="b-shrinker__right">Right part</div>
<div class="b-shrinker__left">Some very long string. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__right">Right part</div>
<div class="b-shrinker__left">Short string</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__left">Short string, no right part</div>
</div>
<div class="b-shrinker">
<div class="b-shrinker__right">Long, long, long right part</div>
<div class="b-shrinker__left">Short string</div>
</div>
</div>
// alert('Hello world!');
{"view":"split-vertical","fontsize":"100","seethrough":"","prefixfree":"1","page":"css"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment