trupti trupti - 10 days ago 5
CSS Question

issue with multiline text with ellipsis in chrome

I'm stuck with some weird issue and hope I can get some help here.

I have a multi-line text inside anchor tag which is surrounded by span and then by div tag.
I have added plugin 'dotdotdot' to add ellipsis to this text.
It works fine in Firefox but in chrome it removes anchor tag completely.

Here is the jsfiddle link I have created for testing
https://jsfiddle.net/trupti11/0p7jf56m/6/

Resize the output window width to mobile size (around 360px or less) and you can see the text disappear.

What could be the issue?

Here is the sample code

Html

<div class="wallTopBar" style="width:100%;">
<img class="b2l_border_img" alt="" src="" style="display: block;" width="auto" height="auto">
<div class="wallTitle" style="display: block; overflow-wrap: break-word;"><span class="wallTitleBox"><a href=" http://www.google.com " target="_blank">Testing for really really long long long, very looonnggg booklist name</a></span></div>
<div class="embedButton" style="display: block;">
<span style="display: none;">Embed Code</span>
<img src="" width="35px" height="35px">
</div>
<div class="dummyDesc" style="display: none;"></div></div>


Javascript

$(document).ready(function() {
$(".wallTitle").dotdotdot({
ellipsis: '... ',
watch: "window",
wrap : 'word',
fallbackToLetter: true
});
});


CSS

.wallTopBar {
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
margin: auto; padding: 0; position: fixed; top: 0; z-index: 10;
}

.b2l_border_img {
height: 4px;margin: auto;width: 100%;background-color:#ccc;
}

.wallTitle { margin-right: 60px; }
.wallTitle {
font-family: opensans-bold,Arial,Helvetica,sans-serif;
font-size: 18px; max-height: 60px; overflow: hidden;
padding-top: 0; position: relative;
}

.wallTitle span {
display: table; height: 46px; margin: 4px auto;
overflow: hidden; width: 98%;
}
.wallTitleBox {
border: 1px solid #cccccc; box-shadow: 3px 1px 5px #cccccc;
}

.wallTitle a {
display: table-cell;padding: 1px;vertical-align: middle;
text-decoration:none;
}

.embedButton {
border-radius: 6px; height: 35px;margin: 12px 8px;
position: absolute;right: 0;top: 4px;
}

.embedButton img { background-color:#ccc; }


Thanks for any help.

Answer

Try removing onverflow: hideen to .wallTitle span.

Working fiddle

$(document).ready(function() {
$(".wallTitle").dotdotdot({
		ellipsis: '... ',
		watch: "window",
		wrap	: 'word',
		fallbackToLetter: true
	});
});
.wallTopBar {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
    margin: auto;
    padding: 0;
    position: fixed;
    top: 0;
    z-index: 10;
}

.b2l_border_img {
    height: 4px;
    margin: auto;
    width: 100%;
background-color:#ccc;
}

.wallTitle {
    margin-right: 60px;
}
.wallTitle {
    font-family: opensans-bold,Arial,Helvetica,sans-serif;
    font-size: 18px;
    max-height: 60px;
    overflow: hidden;
    padding-top: 0;
    position: relative;
}

.wallTitle span {
    display: table;
    height: 46px;
    margin: 4px auto;
    x-overflow: hidden;
    width: 98%;
}
.wallTitleBox {
    border: 1px solid #cccccc;
    box-shadow: 3px 1px 5px #cccccc;
}

.wallTitle a {
    display: table-cell;
    padding: 1px;
    vertical-align: middle;
text-decoration:none;
}

.embedButton {
    border-radius: 6px;
    height: 35px;
    margin: 12px 8px;
    position: absolute;
    right: 0;
    top: 4px;
}

.embedButton img {
background-color:#ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://book2look.com/javascript/jquery.dotdotdot.min.js"></script>

<div class="wallTopBar" style="width:100%;">
  <img class="b2l_border_img" alt="" src="" style="display: block;" width="auto" height="auto">
  <div class="wallTitle" style="display: block; overflow-wrap: break-word;"><span class="wallTitleBox"><a href=" http://www.google.com " target="_blank">Testing for really really long long long, very looonnggg booklist name</a></span></div>
  <div class="embedButton" style="display: block;">
    <span style="display: none;">Embed Code</span>
    <img src="" width="35px" height="35px">
  </div>
  <div class="dummyDesc" style="display: none;"></div></div>

Hope this helps :)

Comments