<header>
  <h2 class="title">element.style.borderTop</h2>
  <p class="description">Змінює верхню межу елемента</p>
</header>
<main>
  <div class="result">
    <!-- Елемент, для якого будемо змінювати обведення -->
    <div id="styledElement" class="styled-element">Елемент з динамічним верхнім бордюром</div>
    <!-- Форми для вибору стилю, ширини та кольору бордюру -->
    <form id="borderControlForm">
      <fieldset>
        <legend>Стиль бордюру</legend>
        <label>
          <input type="radio" name="borderStyle" value="solid" checked> Solid
        </label>
        <label>
          <input type="radio" name="borderStyle" value="dotted"> Dotted
        </label>
        <label>
          <input type="radio" name="borderStyle" value="dashed"> Dashed
        </label>
        <label>
          <input type="radio" name="borderStyle" value="double"> Double
        </label>
      </fieldset>
      <fieldset>
        <legend>Ширина бордюру</legend>
        <label>
          <input type="radio" name="borderWidth" value="1px" checked> 1px
        </label>
        <label>
          <input type="radio" name="borderWidth" value="3px"> 3px
        </label>
        <label>
          <input type="radio" name="borderWidth" value="5px"> 5px
        </label>
      </fieldset>
      <fieldset>
        <legend>Колір бордюру</legend>
        <label>
          <input type="radio" name="borderColor" value="black" checked> Black
        </label>
        <label>
          <input type="radio" name="borderColor" value="red"> Red
        </label>
        <label>
          <input type="radio" name="borderColor" value="blue"> Blue
        </label>
        <label>
          <input type="radio" name="borderColor" value="green"> Green
        </label>
      </fieldset>
      <button type="button" id="applyButton">Застосувати</button>
    </form>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

.styled-element {
  padding: 20px;
  margin-bottom: 20px;
  border: 2px solid black;
}

fieldset {
  margin-bottom: 15px;
}
document.getElementById('applyButton').addEventListener('click', function() {
    let selectedStyle = document.querySelector('input[name="borderStyle"]:checked').value;
    let selectedWidth = document.querySelector('input[name="borderWidth"]:checked').value;
    let selectedColor = document.querySelector('input[name="borderColor"]:checked').value;

    let borderValue = `${selectedWidth} ${selectedStyle} ${selectedColor}`;
    document.getElementById('styledElement').style.borderTop = borderValue;
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.