JSFiddle - React, Tailwind, and code Playground

by ericwilligers

HTML

<table id="report">
  <tr>
    <th>Property</th>
    <th>Assigned</th>
    <th>Serialized</th>
    <th>Computed</th>
  </tr>
</table>
<div id="container">
  <div id="target">
    <div id="child"></div>  
  </div>
</div>

CSS

#report {
  color: black;
  background-color: white;
}

#container {
  transform-style: preserve-3d;
  width: 100px;
  height: 100px;
  font-size: 20px;
  column-gap: 20px;
  column-width: 20px;
}

#target {
  image-rendering: -webkit-optimize-contrast;
}

JavaScript

test("grid-template-areas", '"  a  \t  b  "');
test("grid-template-areas", '"c\td"');
test("grid-template-areas", '"first ..."');



function test(property, values) {

if (!Array.isArray(values)) {
  values = [ values ];
}

for (let value of values) {
  const row = document.createElement('tr');
  const log = (content) => {
    console.log(content);
    const cell = document.createElement('td');
    cell.textContent = "'" + content + "'";
    row.appendChild(cell);
    
    for (let i = 0; i < content.length; ++i) {
    	console.log(i + ': ' + content.charCodeAt(i) + ' ' + content[i]);
    }
  }
  
  target.style[property] = '';
  target.style[property] = value;
  log(property);
  log(value);
  log(target.style[property]);
  log(getComputedStyle(target)[property]);


  if (target.style[property] !== getComputedStyle(target)[property])
  	row.style['font-weight'] = 'bold';

  report.appendChild(row);
  target.style[property] = '';
}

}