I made a fiddle that uses FlexBox and will also give you different styles of HR (double line, symbols in the center of the line, drop shadow, inset, dashed, etc).
CSS
button {
    padding: 8px;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid #ccc;
    margin: 2px;
  }
  button:hover {
    cursor: pointer;
  }
  button.active {
    background-color: rgb(34, 179, 247);
    color: #fff;
  }
  .codeBlock {
    display: none;
  }
  .htmlCode, .cssCode {
    background-color: rgba(34, 179, 247, 0.5); 
    width: 100%;
    padding: 10px;
  }
  .divider {
    display: flex;
    flex-direction: row;
    flex-flow: row;
    width: 100%;
  }
  .divider.fixed {
    width: 400px;
  }
  .divider > label {
    align-self: baseline;
    flex-grow: 2;
    white-space: nowrap;
  }
  .divider > hr {
    margin-top: 10px;
    width: 100%;
    border: 0;
    height: 1px;
    background: #666;
  }
  .divider.left > label {
    order: 1;
    padding-right: 5px;
  }
  .divider.left > hr {
    order: 2
  }
  .divider.right > label {
    padding-left: 5px;
  }
  /* hr bars with centered text */
  /* first HR in a centered version */
  .divider.center >:first-child {
    margin-right: 5px;
  }
  /* second HR in a centered version */
  .divider.center >:last-child {
    margin-left: 5px;
  }
  /** HR style variations **/
  hr.gradient {
    background: transparent;
    background-image: linear-gradient(to right, #f00, #333, #f00);
  }
  hr.gradient2 {
    background: transparent;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(255, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  hr.dashed {
    background: transparent;
    border: 0;
    border-top: 1px dashed #666;
  }
  hr.dropshadow {
    background: transparent;
    height: 12px;
    border: 0;
    box-shadow: inset 0 12px 12px -12px rgba(0, 0, 0, 0.5);
  }
  hr.blur {
    background: transparent;
    border: 0;
    height: 0;
    /* Firefox... */
    box-shadow: 0 0 10px 1px black;
  }
  hr.blur:after {
    background: transparent;
    /* Not really supposed to work, but does */
    content: "\00a0";
    /* Prevent margin collapse */
  }
  hr.inset {
    background: transparent;
    border: 0;
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }
  hr.flared {
    background: transparent;
    overflow: visible;
    /* For IE */
    height: 30px;
    border-style: solid;
    border-color: black;
    border-width: 1px 0 0 0;
    border-radius: 20px;
  }
  hr.flared:before {
    background: transparent;
    display: block;
    content: "";
    height: 30px;
    margin-top: -31px;
    border-style: solid;
    border-color: black;
    border-width: 0 0 1px 0;
    border-radius: 20px;
  }
  hr.double {
    background: transparent;
    overflow: visible;
    /* For IE */
    padding: 0;
    border: none;
    border-top: medium double #333;
    color: #333;
    text-align: center;
  }
  hr.double:after {
    background: transparent;
    content: "§";
    display: inline-block;
    position: relative;
    top: -0.7em;
    font-size: 1.5em;
    padding: 0 0.25em;
  }
HTML
<div class="divider left">
  <hr />
  <label>Welcome!</label>
</div>
<p> </p>
<div class="divider right">
  <hr />
  <label>Welcome!</label>
</div>
<p> </p>
<div class="divider center">
  <hr />
  <label>Welcome!</label>
  <hr />
</div>
<p> </p>
<div class="divider left fixed">
  <hr />
  <label>Welcome!</label>
</div>
<p> </p>
<div class="divider right fixed">
  <hr />
  <label>Welcome!</label>
</div>
<p> </p>
<div class="divider center fixed">
  <hr />
  <label>Welcome!</label>
  <hr />
</div>
Or here's an interactive Fiddle: http://jsfiddle.net/mpyszenj/439/