nextjs-toploader icon indicating copy to clipboard operation
nextjs-toploader copied to clipboard

Element style not allowed as child of element body

Open vnevermore opened this issue 1 year ago • 3 comments

Theres a bad practise happening which leads to failure of html murkup validator test, and it can harm overall website(s) health.

image

vnevermore avatar Dec 11 '23 21:12 vnevermore

Hi there, I also received an error on the production build. Looks like it relates to the topic

Warning: Text content did not match. Server: "#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1600;top:0;left:0;width:100%;height:3px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d , 0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1600;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}" Client: "#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1600;top: 0;left:0;width:100%;height:3px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1600;top: 15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}"
    at style
    at NextTopLoader 

this happens on the nextjs 14.0.4

grevzi avatar Dec 13 '23 21:12 grevzi

I have the same issue as @vnevermore.

creativeskills avatar Apr 17 '24 11:04 creativeskills

This might be the solution, it works on my end. Instead of placing NextTopLoader inside body like in the instructions:

import NextTopLoader from 'nextjs-toploader';

export default function RootLayout({ children }) {
  return (
    <html lang='en'>
      <body>
        <NextTopLoader />
        {children}
      </body>
    </html>
  );
}

Place it inside the head:

import NextTopLoader from 'nextjs-toploader';

export default function RootLayout({ children }) {
  return (
    <html lang='en'>
      <head>
        <NextTopLoader />
      </head>
      <body>{children}</body>
    </html>
  );
}

aleksa-codes avatar Aug 07 '24 16:08 aleksa-codes