Reputation: 2282
I have my main content in the center of the page about 900px wide. on a large screen there is enough space between the right margin of my content and the right side of the browser window that I can display a small 100x100px div in the bottom right corner and it looks good because there is no overlap between that div and the main content. When the screen size is less that div which is relatively positioned overlaps with the bottom right corner of my content. How can I set the display=none of the div if it comes within 20px of my content? Thanks
Upvotes: 5
Views: 2463
Reputation: 206007
As for media queries are not familiar with IE I suggest you kindly this solution for your problem:
code used:
function hideSmall(){
var smallW = $('#small').outerWidth(true);
var winW = $(window).width();
var mainW = $('#main').outerWidth(true);
var calculateW = (winW-mainW)/2;
if ( calculateW <= smallW ){
$('#small').hide();
}
else{
$('#small').show();
}
}
hideSmall();
$(window).resize(function(){
hideSmall();
});
or like THIS
Upvotes: 0
Reputation: 235962
I'd go for a pure CSS solution here. Sounds like a perfect case for media queries
:
#rightdiv {
position: relative;
width: 100px;
height: 100px;
}
@media screen and (max-width: 1000px) {
#rightdiv {
display: none;
}
}
That CSS will only display the #rightdiv
element when the browser window size has at least 1000px width. If it gets smaller, it applies the display: none
property.
Example: http://jsfiddle.net/7CCtH/
Upvotes: 10