A better way ...
My last email was overkill. Here's a solution that uses
linear-gradient and doesn't need any images or pseudo-elements. I've
tested it in Google Chrome, Mozilla Firefox, Microsoft Edge, and
Internet Explorer 11. Use the following style for your body element
...

body {
    position: relative;
    min-height: 100vh;
    background: #3d3d3d linear-gradient(to bottom, white 299px,
transparent 299px) no-repeat;
}

The position:relative was already there and is (maybe) necessary for
the proper positioning of all the other elements in your page.

The `vh` unit is most likely new to you. It stands for "viewport
height". You can read a better description of viewport units at MDN
than I can provide:
https://developer.mozilla.org/en-US/docs/Web/CSS/length#Viewport-percentage_lengths

The linear-gradient replaces your image. Since everything below 299px
is transparent, the "charcoal" background color shows through.

Without the "no-repeat" option, it would repeat the white part down
the page at increments equaling exactly the height of the viewport.

--
Vince

On Tue, Jan 8, 2019 at 7:13 AM Vince Aggrippino
<vinceaggripp...@gmail.com> wrote:
>
> I can't explain why, but Chrome is having a problem with your
> background image, not your CSS. If I just change the URL to point to
> the same image that's used on your front page, everything works. I'm
> guessing that Chrome changed something related to image rendering for
> the sake of performance and it broke your page.
>
> I didn't figure out how to make the CSS linear-gradient work as a
> solution for you because everything on your page is absolutely
> positioned and the body doesn't contain your elements. If I was
> writing this page today, I'd avoid the absolute positioning, but
> there's no sense in re-writing it to fix this problem. I found another
> solution that'll work just fine without images...
>
> 1. Remove the background url and just set the background color to
> "charcoal" (#3d3d3d) ...
>
> body {
>     position: relative;
>     background-color: #3d3d3d; /* charcoal */
> }
>
> I got that color code by opening your original background image in
> GIMP and using the color picker on the dark part.
>
>
> 2. Create a ::before pseudo-element for the white part...
>
> body::before {
>     content: '';
>     display: block;
>     position: absolute;
>     width: 100%;
>     height: 299px;
>     background-color: white;
> }
>
> I got that block height from your original background image. The white
> part is 299px tall. I'm guessing that was originally intended to be
> 300px, but one pixel made little difference and nobody bothered to fix
> it. At least this way it's easy to change.
>
> Normally, you'd want to specify top, left, bottom, and/or right after
> position:absolute, but it's in exactly the right place without setting
> them anyway.
>
> When using absolutely positioned elements, you often want to keep
> z-index in mind as well. Since this pseudo-element is intended to
> always be in the background I might even set a negative z-index value,
> but the default value should be fine for this site.
>
> --
> Vince
>
> On Tue, Jan 8, 2019 at 5:07 AM Vince Aggrippino
> <vinceaggripp...@gmail.com> wrote:
> >
> > I'm also able to reproduce this if I download your code locally and just 
> > run it off of my hard drive. I even see it if I reduce your CSS to just the 
> > style on the body tag. My time is limited right now, so I can't fully 
> > investigate this, but it looks to me like it's the image itself that Chrome 
> > is having difficulty with, not the CSS. Using the Danny Grissett page as an 
> > example, if I replace the background image URL 
> > (images/bodyimage_grissett.gif) with the one used on the front page 
> > (../../images/bodyimage.gif) it works fine.
> >
> > I don't know why this is happening, but I did notice that the grissett 
> > image is nearly twice the height (26250px) of the front page image 
> > (14999px).
> >
> > There is a way to do this without images at all using a CSS linear 
> > gradient, but I can't quote it from memory and I don't have time to figure 
> > it out right now.
> >
> > As far as "many years of flawless performance", I'd call that lucky. So 
> > much has changed in that time. Most sites need regular maintenance and 
> > updates to conform to ever-changing browser landscape.
> >
> > I'll try to take another look when I can later and give you the imageless 
> > solution with linear-gradient.
> >
> > --
> > Vince
> >
> > On Tue, Jan 8, 2019 at 1:06 AM Michael Leibson <m...@michaelleibson.com> 
> > wrote:
> >>
> >> Hi;
> >>
> >> I was a member of this list about ten years ago (under the email address
> >> michael_mabe...@yahoo.ca),  while I was trying to teach myself CSS (via
> >> Eric Meyer’s text) and HTML.  Thanks to participants in this list
> >> (especially  Gunlaug Sørtun [“Georg”], Philippe Wittenbergh, and
> >> others), I was eventually able to create a large website for myself
> >> (www.thinkingmusic.ca).   My website has been extremely valuable to me,
> >> as it allows me to practice my profession (teaching music
> >> theory/composition to a few students in different parts of the world),
> >> and I’m very grateful to those who helped me along the way!
> >>
> >> My problem:  after many years of flawless performance, two pages in my
> >> website are suddenly not appearing completely as they should. The defect
> >> is slight -- an x-repeated gif, that colours 2/3 of the <body> in a
> >> charcoal colour – is not appearing at all, so that that part of the
> >> <body> is white, rather than charcoal.  Here is the relevant CSS:
> >>
> >> body
> >>         {
> >>         position: relative;
> >>         background: url(../../images/bodyimage2.gif) repeat-x;
> >>                 }
> >>
> >> The “bodyimage2.gif” is stored in the <images> folder of the parent
> >> (thinkingmusic.ca/index) directory.
> >>
> >> Here are some pages within my website in which the above-mentioned
> >> “charcoal” backgrounds still appear as they should:
> >>
> >> http://www.thinkingmusic.ca/analyses/index.html
> >> http://www.thinkingmusic.ca/analyses/coltrane/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/commontonemodulation/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/figuredbass/index.html
> >>
> >> and here are the two that are no longer showing that background – at
> >> least, when using Chrome on a Windows desktop computer:
> >>
> >> http://www.thinkingmusic.ca/analyses/grissett/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/justfriends/index.html
> >>
> >>
> >> But here are some strange phenomena:
> >>
> >> - it only occurs in two of the many pages in which I used the identical
> >> CSS technique
> >> - it only occurs when using Chrome on Windows desktop computers:  it
> >> occurs on my  Windows 7 desktop, and on a friend’s Windows 10 desktop.
> >> - it does not occur when using Internet Exporer on the same desktop 
> >> computer
> >> - It does not occur when using Chrome on an Android tablet.
> >> - Others, who have tried the pages on other computers (not necessarily
> >> using Chrome), report that this problem does not occur for them.
> >>
> >> Because this is happening on another’s Windows computer, and only when
> >> using Chrome, it makes me wonder whether Chrome has recently updated
> >> itself in a way that might be rendering my CSS or HTML invalid.  But
> >> even this wouldn’t explain why only some pages – pages that use the
> >> identical CSS techniques and structures – have this problem, while
> >> others do not.
> >>
> >> So far, none of the web designers and computer repair people  I know
> >> have been able to figure out what’s happening.
> >>
> >> Any ideas?
> >>
> >> BTW:  as you can probably tell, I am not a developer – just a
> >> self-taught beginner.
> >>
> >> Thanks, in advance, for anything you’d care to share!
> >>
> >> Michael
> >> ______________________________________________________________________
> >> css-discuss [css-d@css-discuss.org]
> >> http://www.css-discuss.org/mailman/listinfo/css-d
> >> List wiki/FAQ -- http://css-discuss.incutio.com/
> >> List policies -- http://css-discuss.org/policies.html
> >> Supported by evolt.org -- http://www.evolt.org/help_support_evolt/


On Tue, Jan 8, 2019 at 7:13 AM Vince Aggrippino
<vinceaggripp...@gmail.com> wrote:
>
> I can't explain why, but Chrome is having a problem with your
> background image, not your CSS. If I just change the URL to point to
> the same image that's used on your front page, everything works. I'm
> guessing that Chrome changed something related to image rendering for
> the sake of performance and it broke your page.
>
> I didn't figure out how to make the CSS linear-gradient work as a
> solution for you because everything on your page is absolutely
> positioned and the body doesn't contain your elements. If I was
> writing this page today, I'd avoid the absolute positioning, but
> there's no sense in re-writing it to fix this problem. I found another
> solution that'll work just fine without images...
>
> 1. Remove the background url and just set the background color to
> "charcoal" (#3d3d3d) ...
>
> body {
>     position: relative;
>     background-color: #3d3d3d; /* charcoal */
> }
>
> I got that color code by opening your original background image in
> GIMP and using the color picker on the dark part.
>
>
> 2. Create a ::before pseudo-element for the white part...
>
> body::before {
>     content: '';
>     display: block;
>     position: absolute;
>     width: 100%;
>     height: 299px;
>     background-color: white;
> }
>
> I got that block height from your original background image. The white
> part is 299px tall. I'm guessing that was originally intended to be
> 300px, but one pixel made little difference and nobody bothered to fix
> it. At least this way it's easy to change.
>
> Normally, you'd want to specify top, left, bottom, and/or right after
> position:absolute, but it's in exactly the right place without setting
> them anyway.
>
> When using absolutely positioned elements, you often want to keep
> z-index in mind as well. Since this pseudo-element is intended to
> always be in the background I might even set a negative z-index value,
> but the default value should be fine for this site.
>
> --
> Vince
>
> On Tue, Jan 8, 2019 at 5:07 AM Vince Aggrippino
> <vinceaggripp...@gmail.com> wrote:
> >
> > I'm also able to reproduce this if I download your code locally and just 
> > run it off of my hard drive. I even see it if I reduce your CSS to just the 
> > style on the body tag. My time is limited right now, so I can't fully 
> > investigate this, but it looks to me like it's the image itself that Chrome 
> > is having difficulty with, not the CSS. Using the Danny Grissett page as an 
> > example, if I replace the background image URL 
> > (images/bodyimage_grissett.gif) with the one used on the front page 
> > (../../images/bodyimage.gif) it works fine.
> >
> > I don't know why this is happening, but I did notice that the grissett 
> > image is nearly twice the height (26250px) of the front page image 
> > (14999px).
> >
> > There is a way to do this without images at all using a CSS linear 
> > gradient, but I can't quote it from memory and I don't have time to figure 
> > it out right now.
> >
> > As far as "many years of flawless performance", I'd call that lucky. So 
> > much has changed in that time. Most sites need regular maintenance and 
> > updates to conform to ever-changing browser landscape.
> >
> > I'll try to take another look when I can later and give you the imageless 
> > solution with linear-gradient.
> >
> > --
> > Vince
> >
> > On Tue, Jan 8, 2019 at 1:06 AM Michael Leibson <m...@michaelleibson.com> 
> > wrote:
> >>
> >> Hi;
> >>
> >> I was a member of this list about ten years ago (under the email address
> >> michael_mabe...@yahoo.ca),  while I was trying to teach myself CSS (via
> >> Eric Meyer’s text) and HTML.  Thanks to participants in this list
> >> (especially  Gunlaug Sørtun [“Georg”], Philippe Wittenbergh, and
> >> others), I was eventually able to create a large website for myself
> >> (www.thinkingmusic.ca).   My website has been extremely valuable to me,
> >> as it allows me to practice my profession (teaching music
> >> theory/composition to a few students in different parts of the world),
> >> and I’m very grateful to those who helped me along the way!
> >>
> >> My problem:  after many years of flawless performance, two pages in my
> >> website are suddenly not appearing completely as they should. The defect
> >> is slight -- an x-repeated gif, that colours 2/3 of the <body> in a
> >> charcoal colour – is not appearing at all, so that that part of the
> >> <body> is white, rather than charcoal.  Here is the relevant CSS:
> >>
> >> body
> >>         {
> >>         position: relative;
> >>         background: url(../../images/bodyimage2.gif) repeat-x;
> >>                 }
> >>
> >> The “bodyimage2.gif” is stored in the <images> folder of the parent
> >> (thinkingmusic.ca/index) directory.
> >>
> >> Here are some pages within my website in which the above-mentioned
> >> “charcoal” backgrounds still appear as they should:
> >>
> >> http://www.thinkingmusic.ca/analyses/index.html
> >> http://www.thinkingmusic.ca/analyses/coltrane/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/commontonemodulation/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/figuredbass/index.html
> >>
> >> and here are the two that are no longer showing that background – at
> >> least, when using Chrome on a Windows desktop computer:
> >>
> >> http://www.thinkingmusic.ca/analyses/grissett/index.html
> >> http://www.thinkingmusic.ca/thinkingharmony/justfriends/index.html
> >>
> >>
> >> But here are some strange phenomena:
> >>
> >> - it only occurs in two of the many pages in which I used the identical
> >> CSS technique
> >> - it only occurs when using Chrome on Windows desktop computers:  it
> >> occurs on my  Windows 7 desktop, and on a friend’s Windows 10 desktop.
> >> - it does not occur when using Internet Exporer on the same desktop 
> >> computer
> >> - It does not occur when using Chrome on an Android tablet.
> >> - Others, who have tried the pages on other computers (not necessarily
> >> using Chrome), report that this problem does not occur for them.
> >>
> >> Because this is happening on another’s Windows computer, and only when
> >> using Chrome, it makes me wonder whether Chrome has recently updated
> >> itself in a way that might be rendering my CSS or HTML invalid.  But
> >> even this wouldn’t explain why only some pages – pages that use the
> >> identical CSS techniques and structures – have this problem, while
> >> others do not.
> >>
> >> So far, none of the web designers and computer repair people  I know
> >> have been able to figure out what’s happening.
> >>
> >> Any ideas?
> >>
> >> BTW:  as you can probably tell, I am not a developer – just a
> >> self-taught beginner.
> >>
> >> Thanks, in advance, for anything you’d care to share!
> >>
> >> Michael
> >> ______________________________________________________________________
> >> css-discuss [css-d@css-discuss.org]
> >> http://www.css-discuss.org/mailman/listinfo/css-d
> >> List wiki/FAQ -- http://css-discuss.incutio.com/
> >> List policies -- http://css-discuss.org/policies.html
> >> Supported by evolt.org -- http://www.evolt.org/help_support_evolt/
______________________________________________________________________
css-discuss [css-d@css-discuss.org]
http://www.css-discuss.org/mailman/listinfo/css-d
List wiki/FAQ -- http://css-discuss.incutio.com/
List policies -- http://css-discuss.org/policies.html
Supported by evolt.org -- http://www.evolt.org/help_support_evolt/

Reply via email to