title: What do the sqaure brackets do in :not([])? - ':not([align])'
body: <p>I'm new to the :not property in CSS.</p>
  
  <p>When reading about it online, I understand that :not(x) attributes all other elements except for element 'x'. (as explained <a href="https://css-tricks.com/almanac/selectors/n/not/" rel="nofollow noreferrer">here</a> and <a href="https://www.w3schools.com/cssref/sel_not.asp" rel="nofollow noreferrer">here</a>). </p>
  
  <p>I'm adding to an existing codebase. This is in the css file:</p>
  
  <pre><code>table th:not([align]) {
      text-align: left; }
  </code></pre>
  
  <p>So what does this do? I don't understand it. Unless I add !important, it overrides this css:</p>
  
  <pre><code>.td-right {
      text-align: right;
  }
  </code></pre>
  
  <p>But I would like to understand it properly and not have to use !important.</p>