Build an Availability Table - Build an Availability Table

Tell us what’s happening:

You should have the transitions from one color to the following color as a hard line for your #legend-gradient. Make sure your percentages are whole numbers.
I do have hard line transitions, I don’t know why it’s not working

Your code so far

<!-- file: index.html -->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Availability Table</title>
    <link href="styles.css" rel="stylesheet">
</head>

<body>
    <table>
        <tbody>
            <tr class="">
                <th></th>
                <th>Monday</th>
                <th>Tuesday</th>
                <th>Wednesday</th>
                <th>Thursday</th>
                <th>Friday</th>
            </tr>

            <tr class="half">
                <th class="time">8 AM</th>
                <td class="available-3"></td>
                <td class="available-2"></td>
                <td class="available-4"></td>
                <td class="available-1"></td>
                <td class="available-5"></td>
            </tr>
            <tr class="sharp">
                <th class="time">9 AM</th>
                <td class="available-5"></td>
                <td class="available-2"></td>
                <td class="available-5"></td>
                <td class="available-2"></td>
                <td class="available-1"></td>
            </tr>
            <tr class="half">
                <th class="time">10 AM</th>
                <td class="available-2"></td>
                <td class="available-3"></td>
                <td class="available-1"></td>
                <td class="available-4"></td>
                <td class="available-5"></td>
            </tr>
            <tr class="sharp">
                <th class="time">11 AM</th>
                <td class="available-4"></td>
                <td class="available-5"></td>
                <td class="available-2"></td>
                <td class="available-3"></td>
                <td class="available-5"></td>
            </tr>
            <tr class="half">
                <th class="time">12 AM</th>
                <td class="available-2"></td>
                <td class="available-3"></td>
                <td class="available-1"></td>
                <td class="available-4"></td>
                <td class="available-5"></td>
            </tr>
            <tr class="sharp">
                <th class="time">1 PM</th>
                <td class="available-5"></td>
                <td class="available-2"></td>
                <td class="available-5"></td>
                <td class="available-2"></td>
                <td class="available-1"></td>
            </tr>
        </tbody>
    </table>
    <div id="legend">
        <span>Availability</span>
        <div id="legend-gradient"></div>
    </div>

</body>

</html>
/* file: styles.css */
:root{
  --color0: #000;
  --color1: #fff;
  --color2: #cdfecd;
  --color3: #9cfc9c;
  --color4: #037c03;
  --color5: #05c705;
  --solid-border: 2px solid black;
  --dashed-border: 1px dashed black;
}

/* TABLE */
td{
  min-width: 80px;
  border: var(--solid-border);
}
.time{
  border: none;
}
table{
  border-collapse: collapse;
  margin: auto;
}
.available-0{
  background-color: var(--color0);
}
.available-1{
  background-color: var(--color1);
}
.available-2{
  background-color: var(--color2);
}
.available-3{
  background-color: var(--color3);
}
.available-4{
  background-color: var(--color4);
}
.available-5{
  background-color: var(--color5);
}
/* BORDERS */
.half  td{
  border-bottom: var(--dashed-border);
}
.sharp  td{
  border-bottom: var(--solid-border);
  border-top: none;
}

/* BOTTOM LEGEND */
#legend{
  margin:  20px auto;
  width: fit-content;
  text-align: center;
}

#legend-gradient{
  width: 100px;
  height: 20px;
  border: 2px solid black;
  position: relative;
  background-image: linear-gradient( to right,
    var(--color1) ,  
    var(--color1) 20%,
    var(--color2) 20%,
    var(--color2) 40%,
    var(--color3) 40%,
    var(--color3) 60%,
    var(--color4) 60%,
    var(--color4) 80%,
    var(--color5) 80%,
    var(--color5) 100%
  );
}

#legend-gradient::before{
  content: "0";
  position: absolute;
  left: -20px;
}
#legend-gradient::after{
  content: "5+";
  position: absolute;
  right: -25px;
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36

Challenge Information:

Build an Availability Table - Build an Availability Table

Please refer to this reference for an example of how to do that:

MDN: Linear Gradient with Multi-Position Color Stops

are you sure you are using all the colors? isn’t maybe one missing?

You are correct, I am missing a color, I just tried adding a 6th color but it didn’t work bcz I had decimals as percentages, here’s the code:

So I just removed the decimals and now it worked. Thanks for the help!

#legend-gradient{

  width: 100px;
  height: 20px;
  border: 2px solid black;
  position: relative;
  background-image: linear-gradient( to right,
    var(--color0) 0%, 
    var(--color0) 16.6%,
    var(--color1) 16.6%, 
    var(--color1) 33%,
    var(--color2) 33%, 
    var(--color2) 50%,
    var(--color3) 50%, 
    var(--color3) 66.6%,
    var(--color4) 66.6%, 
    var(--color4) 83.3%,
    var(--color5) 83.3%, 
    var(--color5) 100%
  );
}

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.