Wikipedia:Reference desk/Archives/Computing/2022 December 17
| Computing desk | ||
|---|---|---|
| < December 16 | << Nov | December | Jan >> | December 18 > |
| Welcome to the Wikipedia Computing Reference Desk Archives |
|---|
| The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages. |
December 17
[edit]Making buttons to change the colors on a page.
[edit]I had buttons on a site that changed the bgcolor and text color back and forth between "day time" and "night time." The code just changed the default colors. But now I want to use to as declaring variables, i.e., color1, color2, which can change, upon button click. Here's what I have
<style type="text/css">
body.theme-day { color1: green; color2: red; color3: lightgray; }
body.theme-night { color1: darkgreen; color2: darkred; color3: gray; }
/* hide elements for the opposite theme
body.theme-day .theme-night { display: none; }
body.theme-night .theme-day { display: none; }
*/
</style>
<script type="text/javascript">
function change_theme(theme) {
document.body.className = document.body.className.replace(/\s*theme-\S+/, "") + " theme-" + theme;
}
</script>
//And then the buttons.
<P align="center"><button class="theme-night" type="button" onclick="change_theme('day');">Day version</button>
<button class="theme-day" type="button" onclick="change_theme('night');">Night version</button></P>
And so my issue is, using color1 and color2 are not recognized, say, when I use font color="color1" for example. Thanks. 67.165.185.178 (talk) 16:29, 17 December 2022 (UTC).
- I'm not used to CSS, but I had a look at the relevant page on W3Schools.
- Variables: it seems that their names have to start with
--, so you would have to say--color1: green; --color2: red;, and so on. Then, it seems that you have refer to them using the var() function. So rather than sayingstyle="color: color2;"it would bestyle="color: var(--color2);". Card Zero (talk) 22:07, 17 December 2022 (UTC)- Okay, I got half of it to work. The part that works is
th, td {
border: 2px solid var(--color2);
}
(Above is all within <style> tags. But the part that doesn't work is <body style="bgcolor: var(--color3);">,
<table style="bgcolor: var(--color3);">
, and
<td style="bgcolor: var(--color1); width:83%">
67.165.185.178 (talk) 00:08, 18 December 2022 (UTC).
- Is it possibly
background-colorrather thanbgcolor?
Here's a complete functioning page. |
|---|
<!DOCTYPE html>
<html>
<head>
<style>
#customers {
font-family: Arial, Helvetica, sans-serif;
border-collapse: collapse;
width: 100%;
}
#customers td, #customers th {
border: 2px solid var(--color2);
padding: 8px;
}
#customers tr:nth-child(even){background-color: #f2f2f2;}
#customers tr:hover {background-color: #ddd;}
#customers th {
padding-top: 12px;
padding-bottom: 12px;
text-align: left;
background-color: #04AA6D;
color: white;
}
body.theme-day { --color1: green; --color2: red; --color3: lightgray; }
body.theme-night { --color1: darkgreen; --color2: darkred; --color3: gray; }
</style>
<script type="text/javascript">
function change_theme(theme) {
document.body.className = document.body.className.replace(/\s*theme-\S+/, "") + " theme-" + theme;
}
</script>
</head>
<body class="theme-day" style="background-color: var(--color3);">
<h1>A Fancy Table</h1>
<table id="customers" style="background-color: var(--color3);">
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td style="background-color: var(--color1); width:83%">Germany</td>
</tr>
<tr>
<td>Berglunds snabbköp</td>
<td>Christina Berglund</td>
<td>Sweden</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
</table>
<P align="center"><button class="theme-night" type="button" onclick="change_theme('day');">Day version</button>
<button class="theme-day" type="button" onclick="change_theme('night');">Night version</button></P>
</body>
</html>
|
Card Zero (talk) 00:49, 18 December 2022 (UTC)
- Okay, got it to work, it was indeed background-color. 67.165.185.178 (talk) 01:07, 18 December 2022 (UTC).