title: Get a proper way to design the checkbox without being followed by a label tag
body: <p>I use some CSS to redesign my checkboxes in ASP.NET: </p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>input[type=checkbox] { 
    display: none !important;
    cursor: pointer;
  }
  input[type=checkbox]:not([disabled]) + label {
    cursor: pointer;
  }
  input[type=checkbox] + label:before {
    position: relative!important;
    padding-right: 3px;
    top: 1px;
    font-family: 'Arial' !important;
    font-style: normal;
    font-weight: normal;
    content: "O";
    color: #333;
  }
  input[type=checkbox]:checked + label:before {
    content: "X";
    color: #ffa500;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input type="checkbox" id="myCheckbox"&gt;&lt;label for="myCheckbox"&gt;Click&lt;/label&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>This works as long as I set the <code>Text</code> property of my ASP checkbox to something that is neither <code>null</code> nor <code>String.Empty</code>. When I don't set it or set it to an empty string, the produced HTML will not contain the followed <code>label</code> tag, thus my CSS will not work. </p>
  
  <p>Is there a way to design the checkbox without a following label tag?</p>
  
  <p><a href="http://jsbin.com/rimaconoja/2/edit?html,css,output" rel="nofollow" title="JSBIN Example (Preview)">JSBIN Example (Preview)</a></p>