toggleClass not working in IE or Edge - javascript

I have a piece of jquery which expands a hidden selection of text when clicked it also changes the drop down arrow to face the other way when clicked.
Here is an example -
$(document).ready(function(){
$(".toggle-1").click(function(){
$("#div-1").toggle(1000);
$("#arrow-1").toggleClass("up");
});
});
$(document).ready(function(){
$(".toggle-2").click(function(){
$("#div-2").toggle(1000);
$("#arrow-2").toggleClass("up");
});
});
body {text-align:center}
p {text-align:left}
a.toggle-1 {font-size:1.5em;font-weight:bold;text-decoration:none;}
a.toggle-1:hover {font-size:1.5em;font-weight:bold;text-decoration:underline;}
a.toggle-2 {font-size:1.5em;font-weight:bold;text-decoration:none;}
a.toggle-2:hover {font-size:1.5em;font-weight:bold;text-decoration:underline;}
.arrow:after {font-weight:bold; content:" ⮛";}
.arrow.up:after {font-weight:bold; content:" ⮙";}
#div-1 {display:none}
#div-2 {display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>Welcome</h2>
<a class="toggle-1" href="javascript:void(0)">Click Here<span id="arrow-1" class="arrow"></span></a>
<div id="div-1">
<p>Proin ultricies dolor dapibus, ornare dolor sed, commodo lectus. Suspendisse aliquet placerat ante et elementum. Fusce eleifend erat sit amet massa sollicitudin sodales. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed vitae diam eget nisi fringilla vehicula. Integer ac ipsum tincidunt, imperdiet risus et, viverra sem. Suspendisse urna erat, interdum sed justo vitae, aliquet viverra arcu. Curabitur in vulputate dolor. Proin neque nunc, condimentum id sollicitudin ac, vehicula eu neque. Morbi pharetra sagittis erat non pellentesque. Nullam quis blandit ex, vitae dapibus nibh. Nullam porttitor velit nisi, at dictum tortor dictum a.</p>
</div>
<div style="clear:left;margin-top:50px;margin-bottom:50px"></div>
<a class="toggle-2" href="javascript:void(0)">Click Here too!<span id="arrow-2" class="arrow"></span></a>
<div id="div-2">
<p>Morbi ut rhoncus mauris, nec vestibulum eros. Aenean tincidunt consectetur lacus at ultrices. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur quis accumsan leo. Nam in leo ex. Quisque quis porttitor quam, non porttitor lacus. Proin eget nisl libero. Suspendisse efficitur pretium neque sed rhoncus. Proin hendrerit efficitur mi vitae ullamcorper. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur nec lorem pretium, venenatis tortor id, imperdiet lorem. Praesent maximus ipsum ante, scelerisque malesuada mauris cursus ut. Pellentesque nunc massa, varius vel egestas sed, mollis eget lorem. Etiam tempor luctus faucibus. Phasellus fringilla vel augue ornare gravida.</p>
</div>
The code seems to work fine, but only if I use Firefox or Chrome.
Every time I try using Microsoft Edge or IE, the div expands, but the class toggle does not work, is there something I am missing here?

You need to define content in such a way that both values doesn't have the same pattern:
For example:
.arrow:after {content:"⮛";}
.arrow.up:after {content:" ⮙";}
Add an empty space character before content value in any of the above will make it work in IE browsers as well.
In your code you have spaces before in both cases so because of same number of spaces (similar pattern) its not working.
I'm not sure about the reason behind such behavior of IE. May be its a bug or something else however doing so will make it working in IE browsers.
$(document).ready(function(){
$(".toggle-1").click(function(){
$("#div-1").toggle(1000);
$("#arrow-1").toggleClass("up");
});
});
$(document).ready(function(){
$(".toggle-2").click(function(){
$("#div-2").toggle(1000);
$("#arrow-2").toggleClass("up");
});
});
body {text-align:center}
p {text-align:left}
a.toggle-1 {font-size:1.5em;font-weight:bold;text-decoration:none;}
a.toggle-1:hover {font-size:1.5em;font-weight:bold;text-decoration:underline;}
a.toggle-2 {font-size:1.5em;font-weight:bold;text-decoration:none;}
a.toggle-2:hover {font-size:1.5em;font-weight:bold;text-decoration:underline;}
.arrow:after {font-weight:bold; content:"⮛";}
.arrow.up:after {font-weight:bold; content:" ⮙";}
#div-1 {display:none}
#div-2 {display:none}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>Welcome</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut porttitor felis dui, nec hendrerit erat condimentum non. Sed orci eros, volutpat vitae nisi et, auctor sodales libero. Maecenas dignissim augue eget orci euismod, eu maximus felis vehicula. Etiam ut elit pharetra, gravida metus at, lacinia sapien. Aliquam non est ut dui dictum hendrerit. Cras condimentum ante purus. Vivamus volutpat vel mauris vel molestie. Nulla nec fringilla enim. Nunc sed mi eleifend, viverra mi at, pretium nibh. Aliquam erat volutpat. Ut at dapibus mauris. Morbi volutpat vitae lacus ut tempor. Aliquam erat volutpat. Nullam et lectus feugiat, tempor nunc et, aliquam augue.</p>
<a class="toggle-1" href="javascript:void(0)">Click Here<span id="arrow-1" class="arrow"></span></a>
<div id="div-1">
<p> Proin ultricies dolor dapibus, ornare dolor sed, commodo lectus. Suspendisse aliquet placerat ante et elementum. Fusce eleifend erat sit amet massa sollicitudin sodales. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed vitae diam eget nisi fringilla vehicula. Integer ac ipsum tincidunt, imperdiet risus et, viverra sem. Suspendisse urna erat, interdum sed justo vitae, aliquet viverra arcu. Curabitur in vulputate dolor. Proin neque nunc, condimentum id sollicitudin ac, vehicula eu neque. Morbi pharetra sagittis erat non pellentesque. Nullam quis blandit ex, vitae dapibus nibh. Nullam porttitor velit nisi, at dictum tortor dictum a.
Donec eu consequat ex, eu dapibus lectus. Suspendisse sit amet sapien sed quam mollis condimentum. Maecenas ullamcorper volutpat facilisis. Sed eget porta purus, ac fermentum erat. Cras tincidunt, mi vel scelerisque consectetur, ligula urna scelerisque justo, quis commodo tellus purus sit amet velit. Nam accumsan, odio ut ullamcorper luctus, nisi risus iaculis massa, a mollis ante eros vel nibh. Sed et orci tincidunt, suscipit erat non, rutrum urna. </p>
</div>
<div style="clear:left;margin-top:50px;margin-bottom:50px"></div>
<a class="toggle-2" href="javascript:void(0)">Click Here too!<span id="arrow-2" class="arrow"></span></a>
<div id="div-2">
<p> Morbi ut rhoncus mauris, nec vestibulum eros. Aenean tincidunt consectetur lacus at ultrices. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Curabitur quis accumsan leo. Nam in leo ex. Quisque quis porttitor quam, non porttitor lacus. Proin eget nisl libero. Suspendisse efficitur pretium neque sed rhoncus. Proin hendrerit efficitur mi vitae ullamcorper. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur nec lorem pretium, venenatis tortor id, imperdiet lorem. Praesent maximus ipsum ante, scelerisque malesuada mauris cursus ut. Pellentesque nunc massa, varius vel egestas sed, mollis eget lorem. Etiam tempor luctus faucibus. Phasellus fringilla vel augue ornare gravida.
Praesent lobortis in lacus at bibendum. Sed sed condimentum nibh, vitae molestie velit. Ut convallis ex leo, non congue mauris faucibus vel. Morbi dictum aliquam purus, at blandit magna commodo nec. Mauris euismod ipsum magna, sit amet tempor sem interdum vitae. Maecenas ac urna enim. Aliquam elementum velit quis tortor ornare, eget eleifend sapien facilisis. Mauris euismod lectus a placerat dictum. Ut pellentesque imperdiet magna eget ultrices. Duis auctor lorem at nulla ultricies finibus. Mauris sagittis placerat est et lobortis. Nulla placerat convallis erat, in consequat est dignissim vel.
Ut aliquet nisi quam, et pretium sem tempor hendrerit. Nam venenatis sapien in porttitor molestie. Curabitur vel massa vel tellus euismod gravida in ornare urna. Morbi hendrerit nisi ut odio ultrices, eget lobortis mauris euismod. Maecenas rhoncus finibus dictum. Donec quis augue sed elit aliquam varius. Vestibulum placerat feugiat risus at porttitor. Phasellus vel imperdiet massa, et porta justo. Nunc interdum justo at vehicula vehicula.
Proin ut turpis imperdiet, luctus orci a, convallis turpis. Morbi pellentesque metus a mi volutpat, faucibus accumsan turpis congue. Proin rutrum, libero non lacinia eleifend, neque eros aliquet ex, eu sagittis augue purus eget nulla. Quisque placerat lacus vitae libero pretium, nec ultrices quam efficitur. Sed lobortis risus id semper aliquam. Sed finibus nibh maximus, lobortis neque fermentum, pulvinar ex. Cras finibus metus a nunc pellentesque venenatis vel bibendum sapien. Vestibulum laoreet est a arcu tempor pellentesque. Quisque sit amet quam felis.
Phasellus lacus sapien, pulvinar vel vulputate sed, molestie non turpis. Donec at placerat leo, vel auctor enim. Maecenas accumsan ex in neque sodales, pretium malesuada nunc ullamcorper. Donec pharetra, diam ac congue ultrices, nibh tellus fringilla magna, sed vehicula eros ligula sed mauris. Nam elementum scelerisque vehicula. Curabitur condimentum mi ut velit auctor, id cursus ante condimentum. Cras iaculis mattis dignissim. Nullam fringilla imperdiet ante, at luctus ipsum accumsan vel. In pharetra odio et dapibus consectetur. Donec vel euismod tortor. Maecenas vitae facilisis orci. Curabitur orci turpis, pulvinar sit amet justo accumsan, vulputate lacinia dolor. </p>

Related

Correct set of intersection observer

currently I'm stuck on correct setting of Intersection observer. I would say it's working like on half, but it still doesn't have desired behavior.
My goal is to make interactive menu which responds to section, which is currently observed. I would like to fire callback function (highlight specific link in menu) as soon as the new section is visible, even if it was small piece, like 1cm.
For now It works until I enlarge font, for example to 25px. You can try to remove this style. Tt also stops working when there is too much text in one section.
section{
font-size:25px;
}
I think, this is the place where the problem is.. threshold value or condition itself.
const myObserver = new IntersectionObserver(elements => {
if (elements[0].intersectionRatio == 1) {
highlight(elements[0].target);
}
}, {threshold: 1.0})
If anybody know what is the problem, please help me. I'm stuck on this all day. Thank you !
Codepen here
//Get all sections
const sections = document.querySelectorAll('section');
//Get all links in menu
const menu = document.querySelector('.menu');
const links = menu.querySelectorAll('a');
//Callback function
function highlight(target){
links.forEach(link => {
link.classList.remove('active')
if(link.getAttribute('href') === '#'+target.id){
link.classList.add('active');
}
})
}
const myObserver = new IntersectionObserver(elements => {
if (elements[0].intersectionRatio == 1) {
highlight(elements[0].target);
}
}, {threshold: 1.0})
//Observe every function
sections.forEach(el => myObserver.observe(el));
.menu{
position:fixed;
top:0;
left:0;
width:30%;
background:grey;
height:100%;
}
ul{
list-style:none;
}
a{
text-decoration:none;
color:black;
font-size:20px;
}
main{
width:70%;
margin-left:30%;
}
/*Try to remove this font-size style, to see what I was explaining*/
section{
font-size:25px;
}
.active{
color:red;
}
<div class="menu">
<ul>
<li>Section 1</li>
<li>Section 2</li>
<li>Section 3</li>
</ul>
</div>
<main>
<section id="1">
<h1>Section 1</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.
adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.</p>
</section>
<section id="2">
<h1>Section 2</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.
adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.</p>
</section>
<section id="3">
<h1>Section 3</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.
adipiscing elit. Nunc viverra est elit, eu eleifend dolor elementum non. Nunc imperdiet sagittis augue ac varius. Donec condimentum id erat sed ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi suscipit lectus id purus bibendum, a cursus metus mollis. Mauris elementum malesuada massa non lobortis. Quisque molestie convallis dictum. Curabitur sodales erat finibus nunc mattis congue. Morbi eleifend sed lectus id ultrices. Vivamus varius felis viverra turpis eleifend auctor. Duis aliquet magna ut diam lacinia, non iaculis nulla sagittis. Praesent fringilla ex augue, quis hendrerit arcu facilisis a. Fusce iaculis bibendum orci eu efficitur. Praesent tincidunt nisl a urna posuere, venenatis dapibus leo ullamcorper. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Donec pretium tristique enim in molestie. Fusce lacinia, enim nec bibendum dignissim, nibh nulla laoreet nisl, eget finibus augue eros eu urna. Suspendisse accumsan velit orci, non semper lacus aliquam at. Morbi semper porta eros, sed dignissim nunc auctor et. Vivamus mattis fringilla enim. Nulla pretium at neque at feugiat. Pellentesque dictum id massa nec accumsan. Etiam lectus elit, elementum at velit sit amet, tristique pellentesque sapien. Aliquam eu nisl ac est posuere imperdiet. Proin eu enim quis arcu aliquam consequat a vitae purus. Sed finibus scelerisque risus pretium faucibus. Integer eget nisl eu magna sodales rutrum.
In hac habitasse platea dictumst. Duis eget fringilla tortor. Aliquam eget magna rutrum ex pharetra vulputate. Integer in ex est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed consectetur urna odio, sit amet pretium tortor sodales et. Donec molestie bibendum diam, a volutpat urna bibendum sit amet. Fusce congue est imperdiet, lacinia diam non, tempor dui. Integer iaculis lobortis neque id malesuada. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Phasellus vestibulum diam fringilla turpis tempor interdum. Maecenas egestas fringilla risus id elementum. Cras condimentum turpis et elit lobortis dignissim.</p>
</section>
</main>
The goal is to highlight the menu item when at least part of its related section is visible.
MDN gives this:
The degree of intersection between the target element and its root is the intersection ratio. This is a representation of the percentage of the target element which is visible as a value between 0.0 and 1.0.
In the given code however, the threshold is set to 1
const myObserver = new IntersectionObserver(elements => {
if (elements[0].intersectionRatio == 1) {
highlight(elements[0].target);
}
}, {threshold: 1.0})
meaning all of the section must be visible for the observation to take place. When the font size is increased, or there is a lot of text in the section, this wont happen so the observation doesn't occur.
If no threshold option is set the observation will occur as soon as the section comes into view which would seem closer to what is desired. So the first thing to try is this code instead:
const myObserver = new IntersectionObserver(elements => {
if (elements[0].intersectionRatio == 1) {
highlight(elements[0].target);
}
})
There also needs to be thought given to what is required when two or more sections are partially in view, and what if two observations fire at once? The above code would be more robust if all the elements that are observed (i.e. are in that elements collection) are dealt with, and in particular to check whether they have an intersection or not. I imagine you'd want to clear the highlighting of their menu item if they aren't in view and set it if there is an intersection.
See https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API for a fuller explanation and a snippet of code which steps through all the observed elements.

Is there a way to make all links within a page smooth scroll?

Is there a way to make all links within a page scroll smoothly via CSS and as a fallback JavaScript (but only as last resort).
I've seen this answer but it uses jQuery and JavaScript.
I'd prefer a pure CSS solution, something like:
link {
scrolling: smooth;
}
Use CSS scroll-behaviour (may not be supported on some browsers):
html {
scroll-behavior: smooth;
}
Last paragraph
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut suscipit erat id ex luctus facilisis et vitae enim. Vestibulum congue gravida quam, in mollis arcu varius in. Mauris imperdiet malesuada velit, id cursus eros vulputate nec. Sed congue sollicitudin nulla eget luctus. Integer ut quam a diam pellentesque ultrices quis a ligula. Quisque sed lorem suscipit, pulvinar risus nec, molestie est. Aliquam scelerisque scelerisque massa et scelerisque. Quisque leo urna, pharetra in sapien quis, lacinia dapibus nulla. Donec dignissim semper magna, sed fermentum quam luctus sed.
In venenatis dui sed condimentum varius. Ut sit amet semper elit, sit amet vulputate augue. Nulla facilisi. Donec sed consectetur dolor, at molestie tortor. Nulla facilisi. Proin scelerisque a nulla sodales efficitur. Praesent turpis erat, vestibulum vel efficitur id, porttitor vel arcu. Maecenas ex mauris, molestie nec nisi id, aliquet mattis eros. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent molestie, leo in aliquet pretium, metus dolor congue ligula, sed porta arcu tortor at elit. Vivamus dapibus mauris venenatis enim finibus tempor.
Vivamus ultrices nibh pellentesque laoreet condimentum. Curabitur rutrum eget odio eget consequat. Ut vel lorem ullamcorper, congue tellus non, convallis felis. Integer vulputate blandit elementum. Praesent dapibus malesuada enim, nec suscipit nulla laoreet a. Nunc mauris purus, vestibulum vel nisl bibendum, pretium venenatis erat. Nulla ut orci sit amet neque fringilla tempus.
Aenean vel sodales metus. Sed tincidunt risus quam, non maximus mi dictum vitae. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nulla facilisi. Pellentesque sollicitudin vulputate diam, non dignissim enim mattis blandit. In a scelerisque tellus. Nulla et urna varius, sodales nulla et, posuere justo. Vivamus in pharetra nibh. In vestibulum ante eget lacinia tincidunt. Aenean dignissim mauris in lacus vehicula, eu ultricies erat tristique. Ut nulla odio, venenatis vitae ornare quis, elementum non erat. Proin tristique massa id aliquet posuere.
Nam vitae eros non ante luctus volutpat ut eget est. Nulla pharetra odio nisl, at ultrices orci congue quis. Aliquam quis sem sed ligula tincidunt posuere quis sit amet nibh. Aenean arcu sapien, blandit in tristique vel, placerat vitae mauris. Mauris et mauris massa. Vivamus at nisl dictum, facilisis ligula ut, pharetra elit. Morbi scelerisque diam in diam posuere, id tempus ex ultrices. Praesent dictum ipsum in urna vehicula congue. Praesent lobortis lorem mauris, ut interdum risus convallis sit amet. Fusce vitae ultrices nunc. Integer at quam nibh. Praesent aliquet rutrum nisl sit amet interdum. Donec sodales metus vel lectus gravida ornare.
Nulla non augue efficitur, molestie neque ut, euismod augue. Sed nulla est, faucibus et augue eu, sodales finibus ante. Curabitur ex elit, laoreet nec porta vitae, rutrum vitae purus. Sed semper finibus pellentesque. Maecenas vel metus risus. Curabitur ut arcu cursus, dapibus velit varius, interdum massa. Donec aliquam libero at elit interdum hendrerit. Vivamus elementum quam ac porttitor euismod. Praesent ipsum elit, fringilla vel pharetra in, fringilla id tellus. Suspendisse et justo mattis tellus mollis suscipit eget quis ex. Proin sed faucibus mi. Maecenas viverra felis eget leo pharetra, non volutpat sem fermentum. Cras tincidunt ipsum non euismod elementum. Morbi in varius arcu, sit amet facilisis ipsum. Donec a justo a mauris tempus pharetra. Fusce suscipit ornare libero, consequat hendrerit nisi mattis sit amet.
Duis pulvinar justo non tellus lobortis, eu posuere orci rutrum. Praesent dignissim scelerisque enim, et mattis turpis sollicitudin sagittis. Fusce sodales nulla eu ex blandit, ac commodo quam ornare. Etiam in erat nisi. Duis porttitor hendrerit faucibus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam at egestas mauris. Vivamus eleifend nulla facilisis augue porttitor, in sagittis enim gravida. Quisque eget magna a libero vulputate malesuada. Morbi sapien urna, mattis sit amet tellus quis, laoreet feugiat ipsum. Nullam vel augue vel orci convallis congue id sed ex. Proin luctus id elit et suscipit. Vestibulum ac mattis odio.
Donec velit sapien, mollis at vestibulum ut, venenatis non lectus. Nulla facilisi. Fusce sagittis elit commodo bibendum posuere. Nullam vitae nunc vestibulum, tempor erat quis, sagittis eros. Suspendisse lobortis nec leo in auctor. Donec sit amet purus ac ante imperdiet placerat non non lectus. Integer a massa sed ipsum congue faucibus. Integer erat dolor, maximus sed est non, tincidunt blandit nunc. In lobortis elit at mi molestie tempor.
Phasellus lacinia erat sit amet enim condimentum, vitae accumsan magna tincidunt. Integer imperdiet malesuada leo. Integer et mi ipsum. Proin nulla turpis, auctor in commodo ut, fermentum vitae risus. Morbi consequat ipsum libero, id finibus ante placerat id. Proin elementum luctus nunc id tristique. Proin tellus mauris, eleifend vitae hendrerit eget, varius vel ante. Ut dignissim metus at fermentum laoreet. Phasellus eu vestibulum mi, et tristique orci. Sed pulvinar porta commodo. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam id odio non purus suscipit congue vel ut nunc. Morbi porttitor sed ligula ac vehicula. In fermentum ipsum sit amet lacinia pharetra. Nunc sed neque vel mauris ultrices rhoncus.
<span id="last">In auctor in leo nec sollicitudin. Nam viverra lectus nibh, semper lacinia diam tristique ac. Vestibulum id mauris ac dui accumsan tempus. Donec feugiat augue sed felis facilisis porta. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla imperdiet auctor dui ut porta. Nullam fringilla mollis eros et ultricies. Maecenas cursus enim posuere sapien interdum sollicitudin. Aenean hendrerit nunc risus, sed rhoncus nisi tempus ut.</span></p>

Side help which follows and collapses to a tab (JQuery/Bootstrap)

I am trying to add a help box at the right hand side of my page. I want it to stay in the same place as the user scrolls and I want it to collapse to a tab at the right hand side, when they close it.
A bit like this:
https://www.elated.com/articles/css3-floating-follow-tab-with-rollover-effects/
but it needs to expand and collapse.
I can't see any examples of how to do this anywhere.
I'm sure you'll find much better implementations of this, however this is one way to do it. I just threw it together, I would google around to find something that may be a bit better but this should give you an idea of how it could be done.
Note this is with a jquery library you could use vanilla javascript as well. In order to have something happen on click you will need to use javascript. If you want it to happen on hover this can be done with just css.
$(document).ready(function(){
$(document).on('click', "#helpbar span", function(){
if($(this).parent().hasClass('closed')){
$(this).parent().removeClass('closed').addClass('open');
$(this).find('p').text('CLOSE');
}else if($(this).parent().hasClass('open')){
$(this).parent().removeClass('open').addClass('closed');
$(this).find('p').text('HELP');
}
});
});
#content{width:400px;}
.closed{
width:0px;
}
.open{
width:200px;
}
#helpbar{
position: fixed;
right:0;
height:500px;
border:1px solid black;
top: 50px;
}
#helpbar span{
width:100px;
height: 100px;
margin-left:-100px;
border:1px solid black;
display:inline-block;
}
#helpbar span p{
width: 100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse ornare vel dui eget viverra. Aliquam ac hendrerit ex, pulvinar dictum nisl. Quisque vitae ullamcorper augue. Donec congue rhoncus augue, eu faucibus erat bibendum a. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisi. Quisque vehicula ex ut arcu convallis molestie. Nunc sed mi eget purus aliquet consectetur in eget ex. Cras commodo arcu augue. Duis at nulla ligula. Donec id erat non ante viverra sollicitudin sodales vitae velit. Mauris vitae fermentum nulla, eget laoreet erat. Donec in eleifend ligula. Phasellus in pretium enim. Vestibulum ultricies ligula arcu, sed faucibus risus vulputate vitae.
Integer ut erat magna. Sed imperdiet est vitae est rhoncus lacinia. Proin molestie tristique neque ut condimentum. Duis consectetur varius aliquam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aliquam at iaculis ipsum. Integer enim lacus, suscipit mollis consequat nec, lobortis sed magna. Cras ut ultricies arcu. Nulla aliquam magna nulla, ac venenatis nibh tincidunt in. Nulla tristique mauris orci, et sagittis dolor volutpat ut. Aliquam erat volutpat. Nam lectus magna, bibendum eu mauris in, lobortis dictum ipsum. Donec molestie imperdiet feugiat. Pellentesque consequat laoreet ipsum, ac rutrum nunc tempus sit amet. Integer et cursus ex.
Morbi suscipit vitae leo ut consectetur. Maecenas vehicula libero ante, et pharetra ligula varius sed. Integer in lacinia augue. Cras tincidunt justo metus, vitae laoreet orci sollicitudin et. Quisque eu lobortis nisi, vel congue purus. Maecenas malesuada feugiat euismod. Etiam eu justo sed orci semper elementum. Cras et enim gravida, cursus sapien in, consectetur ante. Praesent maximus semper convallis. Praesent sit amet massa sagittis, interdum elit pulvinar, varius erat. Vestibulum ornare, ex id porttitor luctus, odio turpis imperdiet lectus, ac vulputate ipsum metus a dolor. Curabitur et leo nunc. Quisque in nulla ac lectus tempor tempus in quis ipsum.
Cras turpis lectus, volutpat vitae hendrerit vel, sollicitudin sed massa. Suspendisse non sagittis turpis. Quisque a lacus quam. Aenean laoreet lorem at ante viverra viverra. Duis volutpat eros a lacus posuere, non faucibus massa ultrices. Ut imperdiet mi in neque porttitor finibus ac eget arcu. Aliquam quis pharetra nibh, non sagittis neque. Curabitur arcu mauris, euismod ut libero ac, facilisis malesuada sapien. Maecenas ex lectus, suscipit eget nulla molestie, placerat varius leo. Pellentesque eu sapien fringilla, blandit nisi hendrerit, lobortis nunc. Cras ac felis ullamcorper, suscipit metus nec, semper diam. Vivamus quis mauris eget metus condimentum luctus eu non est.
In viverra turpis lacus, id porttitor nibh aliquam euismod. Sed a massa dolor. Aliquam ut commodo quam. Mauris a rutrum quam, non convallis enim. Suspendisse non turpis ultrices, congue nisl eu, fringilla mauris. Donec sed libero felis. Morbi vel lorem nibh. Pellentesque vitae accumsan nisi. Vivamus ut nulla sapien. Donec at diam laoreet mauris gravida mollis. Nullam tortor ante, auctor dignissim molestie ut, tempor nec urna. Vestibulum suscipit ultrices turpis vel tristique. Curabitur fringilla magna vel tortor finibus, ac commodo ipsum accumsan. In rhoncus eleifend enim, eu malesuada ex laoreet ut. Integer elementum sem sed aliquet gravida. Aenean auctor a justo vel ultrices.
Proin accumsan, ex eget hendrerit sodales, urna leo auctor nunc, sed imperdiet tellus sem nec sem. Proin vitae enim ut ipsum blandit dapibus. Fusce tellus tortor, ultricies vel lobortis et, iaculis ut massa. Quisque ullamcorper nulla urna, sit amet sodales risus facilisis a. Nulla in augue at urna pulvinar iaculis a ut nibh. Mauris ornare magna et gravida mattis. Maecenas euismod semper dictum. Maecenas nec risus justo. Proin id iaculis felis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Praesent fermentum vestibulum dui et pellentesque. Duis gravida risus rhoncus, dapibus orci a, finibus leo. Vestibulum maximus sagittis nibh non lacinia.
Nulla sodales odio at orci lobortis luctus. Nulla condimentum a libero at ullamcorper. Etiam in tincidunt ex. Donec non dolor nec augue tincidunt pretium vitae a odio. Aenean fringilla massa erat, in molestie mauris tincidunt eu. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed tincidunt turpis eu justo condimentum fermentum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce mi mauris, ullamcorper at euismod a, mattis et purus.
Proin pharetra arcu ut maximus condimentum. Nullam sit amet vestibulum massa, at vulputate ipsum. Curabitur pretium ultrices sem. Pellentesque ullamcorper orci quis nisi finibus posuere. Aliquam erat volutpat. Donec porttitor justo eget mi lobortis, iaculis gravida libero gravida. Donec in tempus nulla.
Curabitur suscipit ligula sit amet mi pharetra ultrices. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla facilisi. Duis quis lectus vitae arcu mattis fermentum at non lacus. Praesent ullamcorper nibh eu ante aliquam, sed fringilla tellus vehicula. Praesent ut mollis risus. Nullam nec dictum orci. Nullam egestas, erat eget vestibulum viverra, felis arcu facilisis massa, ac rutrum tortor est vel libero. Sed fermentum lacus sed massa pellentesque, a ornare orci interdum. Morbi in turpis risus. Donec ullamcorper, quam et blandit varius, quam lorem vulputate turpis, in viverra lectus tortor efficitur ipsum. Suspendisse dictum convallis est, quis bibendum dolor aliquam ut. Aenean hendrerit sapien fermentum dapibus gravida. Morbi eu pulvinar urna. Morbi scelerisque fermentum luctus. Sed ac tortor bibendum, pretium dui tempor, facilisis risus.
Mauris a lorem tristique, euismod lorem quis, varius risus. Donec bibendum nisi sit amet lorem auctor tempus. Nullam maximus erat quis lacus tristique, non aliquet neque semper. Aliquam erat volutpat. Duis elementum, dui in euismod fermentum, mi nisi suscipit erat, vel tincidunt neque felis id felis. Suspendisse tempor mi quam, sed posuere nisl fringilla vel. Mauris vitae diam vehicula urna feugiat facilisis cursus sed ligula. Cras iaculis luctus nisi, quis dictum lacus venenatis ut. Nulla facilisi. Phasellus sit amet lacus diam.
Duis sem libero, pellentesque sed porta hendrerit, elementum commodo dui. Suspendisse felis metus, semper at urna sed, egestas ullamcorper dolor. Fusce eleifend, libero nec euismod posuere, sapien dui maximus est, ut congue lacus diam sed mi. In vitae est sed augue sodales pharetra. Donec sit amet sem magna. Integer ultricies in leo ut mollis. Vestibulum mattis varius erat, sed tempus augue finibus et. Donec feugiat accumsan diam eu efficitur. Nulla eu enim nec urna vehicula vehicula ac euismod dolor. Ut lacinia elit eget aliquam laoreet. Nullam dapibus imperdiet sem et pharetra. Nulla sed quam id turpis porta varius. Mauris dictum a tortor cursus scelerisque. Morbi eu mattis ante. Vestibulum efficitur accumsan diam et ultricies. Nullam pharetra nulla ut augue gravida, sed tincidunt dolor porttitor.
Sed molestie, massa sed mattis tincidunt, sapien velit bibendum lorem, in feugiat risus dui eu mauris. Quisque iaculis laoreet tellus, eget fringilla neque tincidunt et. Fusce metus tellus, euismod nec ornare nec, eleifend vel nunc. Donec et aliquet metus, sed tristique est. Mauris non aliquet urna, eget rutrum enim. Etiam posuere felis eget lacus pellentesque, ut dapibus dui vehicula. Proin vel fermentum ligula. Suspendisse accumsan a velit lacinia mollis. Fusce imperdiet id nisi quis maximus. Curabitur convallis eros nec hendrerit volutpat. Suspendisse vestibulum nibh urna, sed cursus odio euismod vitae. Morbi ornare tempor eros ut scelerisque.</p>
<div id="helpbar" class="closed">
<span><p>HELP</p></span>
<div>
<p>This is where the help is</p>
</div>
</div>
</div>

How to mask parent div with child div?

There's a continuous background tile in the parent, like so:
#parent{
background: url('tile-bg-under-menu.png') repeat-x center 32px;
height: 151px;
width: 100%;
background-attachment: fixed;
}
Then, I have the child, that is above the parent with another image, like so:
#parent .child {
background: url('menu-bg.png') no-repeat 50% 0px;
padding-top: 0px;
height: 170px;
margin-top: -20px;
}
So, I would like to hide the exact portion of the #parent div that is behind the .child div in the width and height of the #parent div.
I'm looking for something like the inverse of clip or anything that would work the same (masking the parent with the child).
The reason for the question:
The reason I ask this is because: the .child div has a semitransparent background, that has a portion that is overlapping #parent "horizontal tile" which is also semitransparent; so when they meet, their semitransparent portions cover/intersect each over at that part, which is ugly, and that is not part of the graphical plan.
EDIT: I can't use jpg, because the divs are floated above a "dynamic" content.
I tried to:
make a ::before and ::after work-around, outside them, but I couldn't get the content (background tile) to reach to the ends of the browser window.
make a png that is 4k in width and empty exactly at the portion where the .child is present. This was not as bad idea as it sounds, but with this there is a pixel movment to the left or to the right according to differing browsers.
The solution can be either with CSS or JavaScript - it doesen't matter.
It seems that there is no equivalent to an inverse clipping: Is there an inverse to the CSS "Clip" property; hide the clipped area?
Clarification:
The div part looks something like this:
[(#parent)tile part]{[-here curve down.child overlapping part]here curve up-}[(#parent)tile part]
The demo fiddle: https://jsfiddle.net/iorgu/13k2hn9y/
And the snippet:
header{
position: fixed
}
/*#masthead */
/*top: 25px;*/
#parent {
background: url('https://ladyfx.ae/wp-content/uploads/2018/01/upper-menu-bg.png') repeat-x center 8px;
height: 151px;
width: 100%;
background-attachment: fixed;
}
/*.header-wrap*/
#parent .child {
background: url('https://ladyfx.ae/wp-content/uploads/2018/03/menu-bg.png') no-repeat 50% 0px;
padding-top: 0px;
height: 170px;
}
#parent, #parent .child{
pointer-events: none;
}
#parent .child .container{
pointer-events: all;
}
<div id="page" class="hfeed site">
<header id="parent" class="site-header" role="banner">
<div class="child"><!-- .header-wrap -->
</div>
</header><!-- #masthead -->
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dui in quam placerat aliquet. In semper lectus sed lectus iaculis blandit. Etiam egestas ex ac rhoncus commodo. Praesent sagittis eget ante nec interdum. Suspendisse tempus est ac libero rhoncus, laoreet pulvinar mi sagittis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent quis tincidunt ipsum. Mauris nec arcu mollis, pellentesque nisi vitae, gravida sem. Duis vel velit vel lectus rhoncus luctus a vitae nulla. Nunc nec enim sapien. Quisque tempus dolor at viverra pharetra. Vivamus molestie bibendum sapien, vitae iaculis nisl fringilla euismod. Integer quis tincidunt ligula, at vulputate risus.
In vitae purus nec massa viverra mattis quis id lacus. Pellentesque cursus sapien nec tortor faucibus, sit amet sodales tortor faucibus. Aliquam pulvinar sollicitudin urna, ac suscipit sapien venenatis quis. Morbi eu risus in massa pretium molestie. Fusce rhoncus orci in ornare consectetur. Sed volutpat tristique nibh congue finibus. Integer semper sagittis sem vitae varius. Sed sit amet tellus in justo dictum fringilla. Pellentesque dignissim congue nulla non tincidunt. Etiam tempor ante metus, vel pretium est dapibus at.
Etiam eu consequat leo, sit amet placerat ex. Nullam sit amet lectus turpis. Curabitur ac euismod mauris, quis semper ex. Proin efficitur, odio nec tempus blandit, mauris nisl commodo turpis, a tempor lectus purus quis ex. Aliquam id ipsum risus. Mauris quis massa ut dui porttitor pharetra. Nulla aliquam tellus vitae odio rutrum efficitur. Vivamus accumsan iaculis augue, sit amet dignissim turpis aliquam sed.
Quisque finibus fringilla est vitae lobortis. Duis quis egestas nunc, vel ultricies velit. Sed blandit dolor erat, eu placerat tellus ornare dictum. Suspendisse suscipit, tortor ut auctor facilisis, lacus nisl tempor nunc, non mollis nibh velit ut elit. Duis vel laoreet quam, sit amet egestas diam. Fusce aliquam dignissim ante id bibendum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus gravida, augue at consequat mattis, diam nisl porta enim, in gravida dui tortor et tortor. Phasellus elit lacus, luctus sit amet neque id, lobortis placerat est. Donec ac tristique mi. Nulla facilisi. Aenean interdum dictum turpis laoreet vestibulum.
Morbi scelerisque, eros auctor euismod consectetur, justo diam dapibus est, id placerat neque dui ut lorem. Fusce in orci egestas, semper libero id, porta tortor. Etiam nec quam et mauris commodo posuere. Duis gravida, libero nec hendrerit venenatis, lacus felis congue ante, eget rutrum justo turpis quis massa. Donec eget magna vitae dui consequat bibendum. Morbi porta dignissim urna, eget mattis lacus commodo vel. Nunc ligula ex, suscipit in accumsan ut, laoreet eu felis. Morbi sem felis, luctus at lorem a, lobortis vulputate nulla. Duis cursus mi eget arcu placerat consequat. Curabitur venenatis consectetur varius. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam dapibus id ex id commodo.
Donec pretium leo magna, eu viverra lacus vehicula quis. Vivamus vel risus in ligula tristique feugiat ac eu erat. Nulla commodo augue a tortor iaculis varius. Maecenas id facilisis libero. Sed semper, lorem at vulputate tristique, odio ipsum condimentum mi, a volutpat dolor nisi vel risus. Pellentesque at gravida nisi, in vehicula orci. Sed vestibulum aliquam vestibulum. Ut mattis ligula in dolor eleifend, id ultrices sapien lobortis. Suspendisse sed blandit augue. Phasellus et efficitur mauris. In ac urna auctor, hendrerit mauris sed, dictum tortor. Duis nec diam interdum, hendrerit nisi ac, interdum diam. Vivamus fringilla risus nec lacus ullamcorper rutrum. Proin ac pellentesque risus.
Nunc interdum pretium feugiat. Fusce id bibendum turpis, tincidunt iaculis neque. Vestibulum at enim lobortis, venenatis magna eget, commodo est. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec ipsum eget tellus efficitur auctor vitae eu augue. Etiam nec diam velit. Morbi vel pretium sapien. Suspendisse tempus faucibus orci, ut rutrum sem tincidunt a. Mauris at lorem tellus.
Nunc est velit, tristique suscipit interdum at, mollis non arcu. Sed imperdiet leo quis eleifend laoreet. Pellentesque dapibus at massa pulvinar eleifend. Suspendisse potenti. Etiam elementum placerat est nec dapibus. Nulla libero erat, mattis sed rutrum eget, molestie posuere nibh. Etiam in ex ut lorem auctor pretium. Curabitur eget scelerisque libero, a scelerisque libero. Fusce vel rutrum mauris, in elementum ligula. Vestibulum nisi lectus, blandit quis risus vitae, aliquet lobortis orci.
Pellentesque vel est vitae tellus porta sodales. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer vulputate eleifend pellentesque. Integer vel vehicula tellus. Etiam ut euismod orci, vel venenatis massa. Quisque sit amet ipsum vitae metus mollis cursus hendrerit at neque. Nunc cursus eu urna vitae efficitur. Praesent et accumsan felis. Integer maximus condimentum mi eget consequat. Nulla in nulla ullamcorper, vestibulum sem in, ultricies dolor. Vivamus eleifend auctor magna quis varius. Cras lacinia ornare volutpat. Proin porttitor lacus eget convallis mattis. Cras at urna libero. Donec est nisl, commodo in enim ut, dictum molestie neque.
Vivamus sit amet sagittis diam. Sed finibus laoreet lectus, eu rutrum tortor ullamcorper nec. Mauris finibus justo eu tellus pharetra, vel mollis diam venenatis. Aliquam hendrerit nec dolor eget blandit. Nullam id velit ac mauris malesuada dictum quis a dui. Proin nec molestie lectus. Aenean blandit tempus nisl eget scelerisque. Etiam aliquam lorem id quam pretium, quis ullamcorper ex finibus. Donec vulputate condimentum eleifend. Aenean ac consectetur sem. Aenean id eleifend diam. Suspendisse imperdiet sodales tincidunt.
Proin venenatis, tellus sed volutpat interdum, lacus mauris elementum nibh, id commodo lectus lorem vitae sem. Curabitur eget mauris massa. Curabitur viverra egestas consectetur. Donec enim ex, pharetra vitae justo nec, blandit accumsan ipsum. In ac mauris non magna imperdiet facilisis eu a leo. Nunc ipsum lacus, sollicitudin a ipsum non, commodo sagittis nibh. Cras pharetra vehicula enim at consequat.
Ut efficitur mollis erat a placerat. In feugiat mauris eu maximus tincidunt. Donec ut neque a erat vulputate aliquam in et elit. Sed eu est eu mauris rutrum auctor nec et odio. Etiam sapien purus, cursus et hendrerit vitae, fermentum non quam. Aenean a nibh eget tellus rutrum ornare. Etiam imperdiet massa convallis, commodo neque vel, tincidunt elit. Sed et varius turpis, vitae malesuada sem. Nam eu sollicitudin est. Phasellus semper sem at congue vestibulum. Phasellus nisi mi, facilisis vitae lorem et, placerat volutpat sem. Sed feugiat sapien malesuada purus sodales, sit amet faucibus dolor feugiat. Aenean nulla risus, elementum id magna a, pulvinar efficitur felis.
Proin imperdiet enim massa, at sollicitudin libero laoreet vel. Fusce euismod libero at aliquam commodo. Donec tempus enim a pretium consequat. Mauris nec fringilla purus. Aliquam in interdum augue, sed efficitur massa. Vivamus vel erat accumsan, rhoncus urna posuere, feugiat nibh. Sed efficitur magna neque, id tincidunt mauris iaculis sit amet. Nunc maximus auctor est, vitae tristique metus. Integer dapibus risus ligula, nec volutpat est maximus gravida. Praesent tempus consequat augue, et pharetra libero placerat eleifend. Curabitur congue dictum ipsum. In vitae lorem vitae orci vulputate molestie.
Mauris id elit accumsan, molestie elit et, mollis ipsum. Fusce dapibus nisi eget vestibulum pellentesque. Fusce vel tortor at mauris aliquet placerat eu non lacus. Sed vestibulum auctor ligula, sed posuere urna congue ut. Integer et molestie elit. Curabitur aliquam suscipit dui eu elementum. Fusce sollicitudin, sem ut finibus finibus, turpis enim efficitur urna, nec aliquam urna elit vitae justo. Morbi nec lectus neque. Integer aliquet est eget pharetra blandit. Maecenas tortor quam, porta vel egestas ac, consequat in lectus. Cras lacinia lectus tellus, quis varius metus molestie sed. Quisque gravida eleifend sem cursus tincidunt. Sed eget orci non nisi tempor tempus sit amet vel felis. Pellentesque quis ex sed mi ultricies tincidunt a eget velit. Phasellus finibus eget massa eleifend posuere.
Vestibulum pellentesque tellus vel bibendum eleifend. Phasellus vitae mauris leo. Nunc ut orci fringilla, maximus urna nec, cursus quam. Etiam egestas, tortor sit amet ornare dignissim, augue ante imperdiet metus, sed volutpat lacus orci congue felis. Etiam convallis mi quis ex laoreet tincidunt. Phasellus vitae turpis id magna posuere ornare. Duis et malesuada mauris, in ultricies nunc. Phasellus non felis mollis, pretium lectus id, sagittis nisi. Nullam volutpat leo ut turpis aliquet blandit. Quisque ut felis mi.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas hendrerit eros vel ipsum placerat maximus. Nunc sed vestibulum risus, quis porta est. Phasellus consequat fringilla quam, ac elementum ligula mollis a. Maecenas facilisis lectus et ornare sodales. Nullam sed rutrum urna, nec volutpat quam. Etiam iaculis a sapien eu euismod. Morbi tempus, ligula ac facilisis scelerisque, quam purus consectetur mauris, vitae iaculis quam purus ut felis. Suspendisse consectetur lobortis velit, sed ultricies purus. Curabitur erat leo, volutpat non dapibus id, pretium at lorem. Quisque accumsan purus sit amet volutpat dapibus. Vestibulum malesuada ipsum in ipsum consectetur blandit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer in est tincidunt, lobortis odio et, ultrices ligula. Suspendisse tempus quis nisl in efficitur. Nunc in leo cursus, interdum sapien ut, porta est.
Morbi a arcu quis libero pretium lobortis. In nisl tortor, ullamcorper fermentum elit ut, vestibulum vestibulum tortor. Maecenas vitae libero a lorem commodo blandit eget id erat. Mauris ac ultrices dolor. Mauris volutpat magna sit amet diam consequat, in lacinia lorem iaculis. Phasellus et urna augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Vestibulum at risus sit amet sem elementum efficitur in eu lectus. Curabitur at turpis at ante sagittis dapibus id nec turpis. Pellentesque placerat lectus eget mauris tincidunt, ut porta velit faucibus. Nunc sed malesuada ex, in mattis dolor. Nam ac purus laoreet, aliquet lorem quis, posuere libero. In suscipit est ornare congue auctor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus nec eleifend justo. Nam ut dapibus mi, quis scelerisque velit. Sed nec lectus egestas, sollicitudin ante ac, bibendum massa. Curabitur nec volutpat purus.
Cras sed ligula ut ipsum tincidunt mollis. Sed egestas tellus erat, vel porta nulla facilisis eu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempor lorem et neque auctor euismod. Nam ac interdum turpis. Vivamus placerat ipsum nec nibh laoreet efficitur. Curabitur fringilla vestibulum nibh ut euismod. In suscipit rutrum aliquet. Vivamus non euismod velit, sit amet cursus elit. Cras ultricies velit sed tellus ullamcorper, eu auctor leo euismod. Donec at ultrices est. Cras mollis justo eu interdum suscipit.
Vivamus eleifend justo id diam posuere dictum. Aliquam posuere, orci dapibus lacinia eleifend, tellus neque consequat diam, eu laoreet sem lacus quis libero. Curabitur rhoncus at sem non feugiat. Maecenas blandit imperdiet leo sit amet euismod. Vivamus rutrum eleifend lectus sit amet pellentesque. Pellentesque sodales nunc a odio faucibus pretium gravida eu ligula. Suspendisse pharetra ipsum vel ultricies malesuada. Aenean eget lobortis justo, in posuere enim. Praesent rutrum porta metus, sollicitudin maximus risus semper eu. Sed volutpat tincidunt lectus, ac scelerisque massa rhoncus in. Mauris eget augue venenatis, ultricies turpis ac, finibus odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas lobortis vehicula dolor, vitae congue ligula ultrices id. Integer vitae lacus in mauris finibus varius nec sed est.
</div>
</div>
You can achieve this with display flex, see code below
I moved the background image for the parent to the 2 spacer children. With the logo being the child in the middle. I set the spacers to flex-grow: 1 so they will expand the width.
Your logo image currently, needs to be properly centered (edit the image so it is symmetrical)
If you want to learn more about flex read https://css-tricks.com/snippets/css/a-guide-to-flexbox/
header{
position: fixed
}
/*#masthead */
/*top: 25px;*/
#parent {
display: flex;
height: 151px;
width: 100%;
}
/*.header-wrap*/
#parent .child {
background: url('https://ladyfx.ae/wp-content/uploads/2018/03/menu-bg.png') no-repeat 50% 0px;
padding-top: 0px;
height: 170px;
width: 553px;
}
#parent, #parent .child{
pointer-events: none;
}
#parent .child .container{
pointer-events: all;
}
.spacer {
background: url('https://ladyfx.ae/wp-content/uploads/2018/01/upper-menu-bg.png') repeat-x center 8px;
height: 151px;
background-attachment: fixed;
flex-grow: 1;
}
<div id="page" class="hfeed site">
<header id="parent" class="site-header" role="banner">
<div class="spacer">
</div>
<div class="child"><!-- .header-wrap -->
</div>
<div class="spacer">
</div>
</header><!-- #masthead -->
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dui in quam placerat aliquet. In semper lectus sed lectus iaculis blandit. Etiam egestas ex ac rhoncus commodo. Praesent sagittis eget ante nec interdum. Suspendisse tempus est ac libero rhoncus, laoreet pulvinar mi sagittis. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent quis tincidunt ipsum. Mauris nec arcu mollis, pellentesque nisi vitae, gravida sem. Duis vel velit vel lectus rhoncus luctus a vitae nulla. Nunc nec enim sapien. Quisque tempus dolor at viverra pharetra. Vivamus molestie bibendum sapien, vitae iaculis nisl fringilla euismod. Integer quis tincidunt ligula, at vulputate risus.
In vitae purus nec massa viverra mattis quis id lacus. Pellentesque cursus sapien nec tortor faucibus, sit amet sodales tortor faucibus. Aliquam pulvinar sollicitudin urna, ac suscipit sapien venenatis quis. Morbi eu risus in massa pretium molestie. Fusce rhoncus orci in ornare consectetur. Sed volutpat tristique nibh congue finibus. Integer semper sagittis sem vitae varius. Sed sit amet tellus in justo dictum fringilla. Pellentesque dignissim congue nulla non tincidunt. Etiam tempor ante metus, vel pretium est dapibus at.
Etiam eu consequat leo, sit amet placerat ex. Nullam sit amet lectus turpis. Curabitur ac euismod mauris, quis semper ex. Proin efficitur, odio nec tempus blandit, mauris nisl commodo turpis, a tempor lectus purus quis ex. Aliquam id ipsum risus. Mauris quis massa ut dui porttitor pharetra. Nulla aliquam tellus vitae odio rutrum efficitur. Vivamus accumsan iaculis augue, sit amet dignissim turpis aliquam sed.
Quisque finibus fringilla est vitae lobortis. Duis quis egestas nunc, vel ultricies velit. Sed blandit dolor erat, eu placerat tellus ornare dictum. Suspendisse suscipit, tortor ut auctor facilisis, lacus nisl tempor nunc, non mollis nibh velit ut elit. Duis vel laoreet quam, sit amet egestas diam. Fusce aliquam dignissim ante id bibendum. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus gravida, augue at consequat mattis, diam nisl porta enim, in gravida dui tortor et tortor. Phasellus elit lacus, luctus sit amet neque id, lobortis placerat est. Donec ac tristique mi. Nulla facilisi. Aenean interdum dictum turpis laoreet vestibulum.
Morbi scelerisque, eros auctor euismod consectetur, justo diam dapibus est, id placerat neque dui ut lorem. Fusce in orci egestas, semper libero id, porta tortor. Etiam nec quam et mauris commodo posuere. Duis gravida, libero nec hendrerit venenatis, lacus felis congue ante, eget rutrum justo turpis quis massa. Donec eget magna vitae dui consequat bibendum. Morbi porta dignissim urna, eget mattis lacus commodo vel. Nunc ligula ex, suscipit in accumsan ut, laoreet eu felis. Morbi sem felis, luctus at lorem a, lobortis vulputate nulla. Duis cursus mi eget arcu placerat consequat. Curabitur venenatis consectetur varius. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam dapibus id ex id commodo.
Donec pretium leo magna, eu viverra lacus vehicula quis. Vivamus vel risus in ligula tristique feugiat ac eu erat. Nulla commodo augue a tortor iaculis varius. Maecenas id facilisis libero. Sed semper, lorem at vulputate tristique, odio ipsum condimentum mi, a volutpat dolor nisi vel risus. Pellentesque at gravida nisi, in vehicula orci. Sed vestibulum aliquam vestibulum. Ut mattis ligula in dolor eleifend, id ultrices sapien lobortis. Suspendisse sed blandit augue. Phasellus et efficitur mauris. In ac urna auctor, hendrerit mauris sed, dictum tortor. Duis nec diam interdum, hendrerit nisi ac, interdum diam. Vivamus fringilla risus nec lacus ullamcorper rutrum. Proin ac pellentesque risus.
Nunc interdum pretium feugiat. Fusce id bibendum turpis, tincidunt iaculis neque. Vestibulum at enim lobortis, venenatis magna eget, commodo est. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec ipsum eget tellus efficitur auctor vitae eu augue. Etiam nec diam velit. Morbi vel pretium sapien. Suspendisse tempus faucibus orci, ut rutrum sem tincidunt a. Mauris at lorem tellus.
Nunc est velit, tristique suscipit interdum at, mollis non arcu. Sed imperdiet leo quis eleifend laoreet. Pellentesque dapibus at massa pulvinar eleifend. Suspendisse potenti. Etiam elementum placerat est nec dapibus. Nulla libero erat, mattis sed rutrum eget, molestie posuere nibh. Etiam in ex ut lorem auctor pretium. Curabitur eget scelerisque libero, a scelerisque libero. Fusce vel rutrum mauris, in elementum ligula. Vestibulum nisi lectus, blandit quis risus vitae, aliquet lobortis orci.
Pellentesque vel est vitae tellus porta sodales. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Integer vulputate eleifend pellentesque. Integer vel vehicula tellus. Etiam ut euismod orci, vel venenatis massa. Quisque sit amet ipsum vitae metus mollis cursus hendrerit at neque. Nunc cursus eu urna vitae efficitur. Praesent et accumsan felis. Integer maximus condimentum mi eget consequat. Nulla in nulla ullamcorper, vestibulum sem in, ultricies dolor. Vivamus eleifend auctor magna quis varius. Cras lacinia ornare volutpat. Proin porttitor lacus eget convallis mattis. Cras at urna libero. Donec est nisl, commodo in enim ut, dictum molestie neque.
Vivamus sit amet sagittis diam. Sed finibus laoreet lectus, eu rutrum tortor ullamcorper nec. Mauris finibus justo eu tellus pharetra, vel mollis diam venenatis. Aliquam hendrerit nec dolor eget blandit. Nullam id velit ac mauris malesuada dictum quis a dui. Proin nec molestie lectus. Aenean blandit tempus nisl eget scelerisque. Etiam aliquam lorem id quam pretium, quis ullamcorper ex finibus. Donec vulputate condimentum eleifend. Aenean ac consectetur sem. Aenean id eleifend diam. Suspendisse imperdiet sodales tincidunt.
Proin venenatis, tellus sed volutpat interdum, lacus mauris elementum nibh, id commodo lectus lorem vitae sem. Curabitur eget mauris massa. Curabitur viverra egestas consectetur. Donec enim ex, pharetra vitae justo nec, blandit accumsan ipsum. In ac mauris non magna imperdiet facilisis eu a leo. Nunc ipsum lacus, sollicitudin a ipsum non, commodo sagittis nibh. Cras pharetra vehicula enim at consequat.
Ut efficitur mollis erat a placerat. In feugiat mauris eu maximus tincidunt. Donec ut neque a erat vulputate aliquam in et elit. Sed eu est eu mauris rutrum auctor nec et odio. Etiam sapien purus, cursus et hendrerit vitae, fermentum non quam. Aenean a nibh eget tellus rutrum ornare. Etiam imperdiet massa convallis, commodo neque vel, tincidunt elit. Sed et varius turpis, vitae malesuada sem. Nam eu sollicitudin est. Phasellus semper sem at congue vestibulum. Phasellus nisi mi, facilisis vitae lorem et, placerat volutpat sem. Sed feugiat sapien malesuada purus sodales, sit amet faucibus dolor feugiat. Aenean nulla risus, elementum id magna a, pulvinar efficitur felis.
Proin imperdiet enim massa, at sollicitudin libero laoreet vel. Fusce euismod libero at aliquam commodo. Donec tempus enim a pretium consequat. Mauris nec fringilla purus. Aliquam in interdum augue, sed efficitur massa. Vivamus vel erat accumsan, rhoncus urna posuere, feugiat nibh. Sed efficitur magna neque, id tincidunt mauris iaculis sit amet. Nunc maximus auctor est, vitae tristique metus. Integer dapibus risus ligula, nec volutpat est maximus gravida. Praesent tempus consequat augue, et pharetra libero placerat eleifend. Curabitur congue dictum ipsum. In vitae lorem vitae orci vulputate molestie.
Mauris id elit accumsan, molestie elit et, mollis ipsum. Fusce dapibus nisi eget vestibulum pellentesque. Fusce vel tortor at mauris aliquet placerat eu non lacus. Sed vestibulum auctor ligula, sed posuere urna congue ut. Integer et molestie elit. Curabitur aliquam suscipit dui eu elementum. Fusce sollicitudin, sem ut finibus finibus, turpis enim efficitur urna, nec aliquam urna elit vitae justo. Morbi nec lectus neque. Integer aliquet est eget pharetra blandit. Maecenas tortor quam, porta vel egestas ac, consequat in lectus. Cras lacinia lectus tellus, quis varius metus molestie sed. Quisque gravida eleifend sem cursus tincidunt. Sed eget orci non nisi tempor tempus sit amet vel felis. Pellentesque quis ex sed mi ultricies tincidunt a eget velit. Phasellus finibus eget massa eleifend posuere.
Vestibulum pellentesque tellus vel bibendum eleifend. Phasellus vitae mauris leo. Nunc ut orci fringilla, maximus urna nec, cursus quam. Etiam egestas, tortor sit amet ornare dignissim, augue ante imperdiet metus, sed volutpat lacus orci congue felis. Etiam convallis mi quis ex laoreet tincidunt. Phasellus vitae turpis id magna posuere ornare. Duis et malesuada mauris, in ultricies nunc. Phasellus non felis mollis, pretium lectus id, sagittis nisi. Nullam volutpat leo ut turpis aliquet blandit. Quisque ut felis mi.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas hendrerit eros vel ipsum placerat maximus. Nunc sed vestibulum risus, quis porta est. Phasellus consequat fringilla quam, ac elementum ligula mollis a. Maecenas facilisis lectus et ornare sodales. Nullam sed rutrum urna, nec volutpat quam. Etiam iaculis a sapien eu euismod. Morbi tempus, ligula ac facilisis scelerisque, quam purus consectetur mauris, vitae iaculis quam purus ut felis. Suspendisse consectetur lobortis velit, sed ultricies purus. Curabitur erat leo, volutpat non dapibus id, pretium at lorem. Quisque accumsan purus sit amet volutpat dapibus. Vestibulum malesuada ipsum in ipsum consectetur blandit. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer in est tincidunt, lobortis odio et, ultrices ligula. Suspendisse tempus quis nisl in efficitur. Nunc in leo cursus, interdum sapien ut, porta est.
Morbi a arcu quis libero pretium lobortis. In nisl tortor, ullamcorper fermentum elit ut, vestibulum vestibulum tortor. Maecenas vitae libero a lorem commodo blandit eget id erat. Mauris ac ultrices dolor. Mauris volutpat magna sit amet diam consequat, in lacinia lorem iaculis. Phasellus et urna augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Vestibulum at risus sit amet sem elementum efficitur in eu lectus. Curabitur at turpis at ante sagittis dapibus id nec turpis. Pellentesque placerat lectus eget mauris tincidunt, ut porta velit faucibus. Nunc sed malesuada ex, in mattis dolor. Nam ac purus laoreet, aliquet lorem quis, posuere libero. In suscipit est ornare congue auctor. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus nec eleifend justo. Nam ut dapibus mi, quis scelerisque velit. Sed nec lectus egestas, sollicitudin ante ac, bibendum massa. Curabitur nec volutpat purus.
Cras sed ligula ut ipsum tincidunt mollis. Sed egestas tellus erat, vel porta nulla facilisis eu. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempor lorem et neque auctor euismod. Nam ac interdum turpis. Vivamus placerat ipsum nec nibh laoreet efficitur. Curabitur fringilla vestibulum nibh ut euismod. In suscipit rutrum aliquet. Vivamus non euismod velit, sit amet cursus elit. Cras ultricies velit sed tellus ullamcorper, eu auctor leo euismod. Donec at ultrices est. Cras mollis justo eu interdum suscipit.
Vivamus eleifend justo id diam posuere dictum. Aliquam posuere, orci dapibus lacinia eleifend, tellus neque consequat diam, eu laoreet sem lacus quis libero. Curabitur rhoncus at sem non feugiat. Maecenas blandit imperdiet leo sit amet euismod. Vivamus rutrum eleifend lectus sit amet pellentesque. Pellentesque sodales nunc a odio faucibus pretium gravida eu ligula. Suspendisse pharetra ipsum vel ultricies malesuada. Aenean eget lobortis justo, in posuere enim. Praesent rutrum porta metus, sollicitudin maximus risus semper eu. Sed volutpat tincidunt lectus, ac scelerisque massa rhoncus in. Mauris eget augue venenatis, ultricies turpis ac, finibus odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas lobortis vehicula dolor, vitae congue ligula ultrices id. Integer vitae lacus in mauris finibus varius nec sed est.
</div>
</div>
i think this is what you need. utilizing css position property
.parent {
height: 200px;
background: red;
background-image: url('src-to-image');
position: relative;
}
.overlay {
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 100px;
background: rgba(0, 0, 0, 0.5);
}
.overlay > img {
position: relative;
/**use top and left property to even cover more specify areas**/
display: inline-block;
/**set width, height property to specify coverage dimensions*/
}
<div class="parent">
<div class="overlay">
<img src="" alt="" />
</div>
</div>

Angular highlight the whole word when clicked and show it in console

I want to highlight the whole word when i click on it and save it to some variable so I can do something with it. I don't know where to begin, because I'm new to angular.
Here's my attempt using exclusively Angular
var app = angular.module('myApp', [])
app.controller('mainCtrl',['$scope' , function($scope) {
var text = "a bit of text here";
$scope.textArray= text.split(" ");
$scope.print = function(t){
// this function fetches the word, you can do anything with variable `t`
console.log(t); // for instance I output it in the console
}
}])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js"></script>
<div ng-app="myApp" ng-controller="mainCtrl">
<p>
<span ng-repeat="t in textArray" ng-click="print(t)">{{t}} </span>
</p>
</div>
var clickedWord;
$(".clickable").click(function(e) {
s = window.getSelection();
var range = s.getRangeAt(0);
var node = s.anchorNode;
while (range.toString().indexOf(' ') != 0) {
range.setStart(node, (range.startOffset - 1));
}
range.setStart(node, range.startOffset + 1);
do {
range.setEnd(node, range.endOffset + 1);
} while (range.toString().indexOf(' ') == -1 && range.toString().trim() != '');
var str = range.toString().trim();
console.log(str);
clickedWord = str;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<p class="clickable">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris rutrum ante nunc. Proin sit amet sem purus. Aliquam malesuada egestas metus, vel ornare purus sollicitudin at. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer porta turpis
ut mi pharetra rhoncus. Ut accumsan, leo quis hendrerit luctus, purus nunc suscipit libero, sit amet lacinia turpis neque gravida sapien. Nulla facilisis neque sit amet lacus ornare consectetur non ac massa. In purus quam, imperdiet eget tempor eu,
consectetur eget turpis. Curabitur mauris neque, venenatis a sollicitudin consectetur, hendrerit in arcu. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras iaculis, est eu pulvinar suscipit, nisl neque
commodo dui, eu bibendum velit leo vel tortor. Nulla eget mauris et libero gravida malesuada. Sed at massa gravida diam rhoncus condimentum. Duis nulla turpis, faucibus vel luctus et, gravida condimentum ante. Integer tincidunt lacus in ante pharetra
vitae auctor ipsum malesuada. Phasellus nunc mauris, ultrices quis ultrices a, ultricies fermentum eros. Curabitur non diam et tellus bibendum pellentesque ac vel eros. Nullam varius turpis non est viverra viverra. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Quisque consectetur, tortor eget viverra laoreet, eros ante lobortis massa, eu molestie nisl mi non urna. Fusce vehicula tincidunt porta. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Fusce ac arcu faucibus tellus eleifend blandit. Donec quis massa odio, in hendrerit lacus. Proin a dolor massa. Aenean urna nunc, mattis vel euismod sit amet, accumsan quis elit. Fusce sit amet odio diam. Curabitur ipsum enim, eleifend et aliquam non,
laoreet ac est. Maecenas cursus mauris eu sapien consequat consequat. Curabitur commodo euismod arcu non condimentum. Proin quis libero vitae arcu pretium porttitor. Ut sapien tellus, fermentum sit amet scelerisq tortor. Nunc convallis varius lacinia. Donec leo leo, suscipit et porttitor nec, vulputate a nulla. Morbi in ullamcorper orci. Nam sed est ut enim tincidunt rhoncus at vitae neque. Morbi dapibus, duis eros. Nunc porttitor gravida pharetra. Curabitur eu dui eget sapien faucibus luctus. Praesent
vel lectus est, pellentesque elementum felis. Donec a varius eros. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Vivamus non nulla elit, non sollicitudin quam. Proin id tempus mauris. Suspendisse lorem augue,
mattis elementum blandit quis, dapibus sit amet ante. Pellentesque in turpis non ante aliquam tincidunt sed porttitor enim. Proin bibendum ornare ullamcorper. Aenean egestas elit at turpis sollicitudin laoreet. Maecenas varius lacus vitae urna dictum
consectetur. Quisque et justo leo, eu consequat nibh. Donec nunc ante, vehicula vel pharetra id, tincidunt in ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Etiam tincidunt eros nunc. Nulla facilisi.
Nullam non suscipit dolor. Maecenas lobortis accumsan nibh sollicitudin hendrerit. Phasellus arcu sapien, tincidunt eu convallis id, ultricies id leo. Phasellus sed risus eu nunc mattis lobortis a vel sapien. Phasellus et nulla ligula. Morbi nec faucibus
tortor. Aliquam sem turpis, molestie non tincidunt vel, rhoncus vitae enim. Nullam volutpat nibh non augue iaculis dignissim. Sed aliquam ullamcorper lacus id congue. Maecenas feugiat ligula nec orci semper blandit volutpat quam egestas. Pellentesque
quam est, vulputate ac luctus in, placerat vitae odio. Sed accumsan rutrum nibh vel faucibus. Mauris pellentesque ligula sed nulla aliquet a venenatis arcu congue. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Pellentesque feugiat, nisl in ullamcorper aliquet, risus nunc lobortis quam, a pellentesque ante orci in lacus. Mauris eu nibh a ligula imperdiet malesuada et ac velit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam lacinia fringilla
nibh, non vulputate neque faucibus non. Sed luctus nunc vel nisi aliquam eleifend. Mauris non urna et purus rhoncus dignissim. Sed purus arcu, hendrerit id gravida rutrum, aliquam eu odio. Class aptent taciti sociosqu ad litora torquent per conubia
nostra, per inceptos himenaeos. Quisque dictum euismod lorem, nec auctor dui rutrum quis. Donec eget est nulla, ac tincidunt erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Donec sed lectus vitae urna
elementum accumsan vel ut sem. Aliquam a nunc est. Morbi enim nulla, blandit eget faucibus et, porttitor at leo. Fusce metus neque, condimentum sed adipiscing ac, vulputate ac augue. Mauris viverra dui eget magna eleifend quis suscipit lorem lacinia.
In pellentesque rutrum libero. Ut velit sem, interdum non pretium ut, pulvinar nec orci. Etiam in ullamcorper orci. Phasellus adipiscing hendrerit cursus. Integer blandit velit sodales velit imperdiet molestie. Praesent consequat dictum erat, eget vestibulum
eros eleifend id. Aenean in purus malesuada arcu accumsan porttitor at et nisi. Sed sit amet iaculis nibh. Sed convallis tincidunt nibh et malesuada. Nulla pretium luctus arcu, a malesuada est mollis nec. Maecenas faucibus semper odio, et pellentesque
lectus sollicitudin in. Suspendisse ut mi mauris, a dapibus urna. Fusce vel turpis ut velit iaculis porttitor. Morbi at interdum tortor. Sed vulputate risus ac leo fringilla imperdiet. Aliquam erat volutpat. Nunc vitae tortor libero. Vivamus hendrerit
turpis nisl, a vestibulum mi. Quisque facilisis libero quis ante feugiat vel consectetur felis ornare. Mauris urna odio, pharetra ac imperdiet non, posuere vitae lacus. Donec convallis neque non magna pretium ac tristique tellus volutpat. Donec in eros
dolor. Vestibulum elit tortor, vulputate quis dignissim eget, iaculis sit amet sem. Donec sit amet ornare nibh. Sed pellentesque tristique lacus eu adipiscing. Duis aliquam metus bibendum nunc accumsan interdum. Cum sociis natoque penatibus et magnis
dis parturient montes, nascetur ridiculus mus. Pellentesque ut libero quis dolor accumsan posuere id at enim. Pellentesque ut dui eu leo ullamcorper congue. Vestibulum convallis imperdiet diam, sit amet tempus dolor dictum vulputate. Nam ac dui elit.
Nullam bibendum lectus et sem volutpat semper laoreet ut dolor. Fusce vel augue venenatis velit dapibus rutrum vel vel nibh. Curabitur hendrerit, libero non imperdiet blandit, velit enim venenatis dui, at fermentum nunc ante at turpis. Sed tincidunt
est non orci vehicula a faucibus turpis hendrerit. Duis viverra ipsum ac nibh suscipit non fringilla leo ornare. Cras lobortis elementum mi. Cras lobortis adipiscing nulla, egestas feugiat ligula blandit vel. Donec vitae sagittis ipsum. Aliquam tincidunt
porttitor leo in ultrices. Duis lorem odio, vulputate id tristique in, dapibus sit amet felis. Aliquam enim arcu, laoreet porttitor dapibus vel, aliquet a velit. Pellentesque feugiat augue non purus feugiat eget porta nunc egestas. Curabitur lobortis
euismod ipsum, eget convallis dolor blandit at. Donec quis felis lacus. Quisque condimentum varius est non gravida. Praesent vitae velit et quam bibendum hendrerit in vel quam. Cras velit ante, tempor luctus pretium in, lacinia at lectus. Proin tristique,
eros id posuere suscipit, urna nulla faucibus justo, sed aliquet tellus urna et nulla. Morbi et sem nibh, vel cursus odio. Morbi ligula nisl, eleifend eu tincidunt in, dictum non leo. Aliquam erat volutpat. Nullam eget lacus sit amet diam luctus commodo.
Maecenas imperdiet, nibh ut interdum venenatis, augue leo sodales metus, id malesuada diam quam sed ipsum. Morbi vulputate urna eu nisi aliquam porta euismod vitae sapien. Quisque quam metus, elementum in hendrerit eget, dignissim non dolor. Duis tristique,
lacus sed facilisis tempus, tellus quam vulputate felis, in rhoncus mauris augue ut ligula. Sed dictum semper congue. In hendrerit dictum odio, a molestie erat egestas eu. In convallis semper ante, vestibulum condimentum orci bibendum non. Nam dictum
</p>

Categories