Scroll lags when using lot of nested divs and overflows - css

Problem:
I have a table in a modal that has a very laggy scroll behaviour:
Testing Environment:
The scroll issue appears on multiple devices, the screen record was made with:
MacBook Pro 13", M2, 2022 with Ventura 13.1
Firefox 109.0.1
I was not able to reproduce the issue with Chrome.
What I've tried:
I already tried to remove some css in below example code but without satisfying result. Some of the css is required due to the used framework Bootstrap. Using the dev tools of the browser removes the scroll lag immediately so debugging with the dev tools was no option for me.
Maybe this is related to the firefox hardware acceleration feature? I have checked the option in the settings but without success.
One possible solution at the moment is removing the overflow-x: auto of the table wrapper, but I need that one in case the table is too wide for the parent container to support horizontally scrollable table without scrolling the whole parent container.
Code:
I already tried to create a code example with minimum amount of code but could not identify the main cause. You can find the reproducable code in jsfiddle:
JSFiddle
Kind regards,
Codehardt

Related

CSS - Visual Composer overwritten style not applying what I see in Chrome console

I have an issue and I have no idea what is going on. I am using a WordPress theme that uses Visual Composer and I want to make an image in one row display in front another row div above it. I've got to the point where I have added relative positioning and a high z-index on the image and a low z-index on the row div above.
Nothing I have tried (such as changing different z-index values and positions) are making this image come to the front of the row div above it.
What I done next was to see CSS rules used by Visual Composer and see if any of them are affecting it. The only thing I've found is one overflow: hidden; rule (on the row div above the image) which when I uncheck it in Chrome dev tools it will work and the image will show in front of that row div.
However, I have applied my own overflow CSS rule on the row div to overwrite this Visual Composer rule but when I load the webpage it doesn't make any difference, even though it's crossed out on dev tools and my styles look to be overwriting it.
I've attached two images to illustrate this:
Any help on why this is happening is much appreciated or any advice on how to resolve this image to display on the front of the above row div is much appreciated, thanks.

Navbar overflows scrollbars

I've been struggling with this problem for a few days now. Navigation bar on my page hides browser scrollbars. This happens in Chrome (both desktop and mobile) and Firefox - I didn't chceck other browsers yet but I suppose the result will be the same.
I tried like every single solution I found on Google and Stack Overflow but none of them fully worked. The navbar either kept covering the scrollbars or it wasn't clickable because it was under the rest of the page.
Can somebody browse my CSS and help me with this problem? Thanks a lot!
P.S.: I use no CSS framework. I downloaded the template from here and sligtly modified it.

Chrome and Bootstrap fixed navbar

Been using bootstrap for awhile and its now just had a small hickup.
Getting the same issue on their example. So for cleaner code ill use theirs...
http://newsapps.github.io/bootstrap/examples/navbar-fixed-top/
Win 8.1 pro
Using chrome 41.0.2272.101m (also just updated to this.. so noticed on previous version)
Disabled all extensions, also uninstalled and reinstalled, cleared cache.
Screen res: dual screen = 1920x1080 and 1680x1050
Problem: No nav bar content. Its rendered at over 7000px wide, and content is floated right or centered.
If I resize my window to say 700x400 the navbar gets a width of 2943px.
Also of note is that now the jumbotron on that page is now not display..
Its .container gets 1170px width? Reappears though when resizing.
Debugging chrome on my own site it appears that the viewport meta tag may be a cause. Removing that it performs fine, But also removing the position:fixed solves it. Though naturally leaves it with styling issues...
Using Dev tools and selecting a device works fine. No device, no menu....
Its like the viewport and media queries are not working correctly but ONLY on my PC?
I cant reproduce it on my home PC or work colleges. I cant find any info on it and for a responsive site the view-port is needed.
Driving me nuts.... quick fix, use FF but if clients get this issue or others have it?
Cant add screenshot as < 10 rep (sorry..)
For anyone interested.
After clearing the cache, uninstalling, resetting all settings and nothing working I decided to play around again in the 'device mode' pane again, as I figured this is the most likely place it'll be due to the view port meta tag seeming to affect it.
I use this pane to test sizes and resolutions and then turn it off. BUT there must be some sort of setting in that that stuck. Un-ticking everything and changing devices doesnt work..(and resetting didnt either) but you will notice a circle icon with a cross in it in the top left. Like the 'ban' symbol and hovering over it will say 'reset all overrides'. Click it..
No idea HOW an override gone in there, or why resetting the browser, uninstalling etc would not reset them.. or where you can find them, but there you go. Problem solved.
#Logan I was having the same issue. Resetting the override doesn't work for me but switching Chrome to a new user does, bizarrely.

Google Chome - Sidebar looks broken ONLY on some computers

I currently have a WordPress theme online and appears to work fine but one of my clients noted that the blog page layout is broken in Google Chrome. The sidebar appears right underneath the page content. So I checked his website and my demo and it does indeed look broken. So I have spoken to another programmer and he says it's not broken and he uses the latest version of Chrome too. I have never encountered such an issue, it works for some but not for others.
EDIT: The issue has been fixed with thanks to Joseph Erickson.
Looks like it has to do with the width of the #sidebar. If you shrink it just a little bit, it'll fit properly.
Why is this happening? Who knows. These little pixel shifts with floats can be hard to track down. I would recommend not trying to fit everything so snug together and allow some wiggle room when putting two fixed-width floating elements inside the same element.

Fixed positioning bug in Firefox 7.0.1, some overflow seems to cause 1px margin on fixed div

This seems to be a bug specific to firefox (version 7.0.1), I have copied the offending code into jsFiddle.
but jsFiddle DOES NOT REPRODUCE THE BUG. copy the code from jsFiddle into a blank html document and test it locally to see the issue.
http://jsfiddle.net/kCMeu/1/
This is the normal state of the menu items before you over over any of them:
This is the first sub_item when hovered over wiht the mouse:
And the third sub_item:
And now the last:
Where did that white margin come from around the #global_nav_box div? it only shows up on the hover state of the last sub item.
That is the bug I cant (conveniently) fix.
Fixes I've found are:
Setting the body tag 'margin-top:0px' - but that leave an unsightly margin on the left and right of the page.
Removing the 'z-index' property from the CSS for #global_nav_box - I thought i'd fixed it, until all the content on the page below scrolled over the div when you scroll on the page.
So why does it do this? Can you replicate this on Firefox? How can I fix it?
Thanks in advance.
Update: Ive had some of my friends test it and it (the bug) shows up for some and not for others, I have also tested in in Windows XP mode and it (the bug) still doesn't show up. All my testers were running Windows 7 and Firefox 7.0.1.
I've disabled all plugins and extensions on my install of Firefox and its still there. Insane.
Although I do not know what caused this issue I have found a clean solution for it :)
Could you not wrap the absolute positioned div in a fixed div like this: http://jsfiddle.net/HelloJoe/JXWNj
Source: HelloJoe
His solution from the previous thread that was the cause for this one fixed everything. :)

Resources