Подтвердить что ты не робот

CSS - Граница, где видна только половина границы

Я запутался в том, чтобы заставить его работать в CSS только для того, чтобы иметь div, где граница будет видна только на половине ширины.

Стиль рамки - это простой 1px solid #000;

Однако, я хочу, чтобы верхняя часть границы div не была видна везде (на 100% по ширине div), а только на первые 50% ширины div.

Я не смог получить пример этого в любом месте, и он должен быть в процентах, поэтому обычный пакет трюков (изображение во второй половине,...).

4b9b3361

Ответ 1

Будет ли это работать:

#holder {
        border: 1px solid #000;
        height: 200px;
        width: 200px;
        position:relative;
        margin:10px;
} 
#mask {
        position: absolute;
        top:-1px;
        left:1px;
        width:50%;
        height: 1px;
        background-color:#fff;
}
<div id="holder">
        <div id="mask"></div>
</div>

    

Ответ 2

Если вы вообще не хотите связываться с HTML, вы можете сделать это с помощью пустого псевдоэлемента, используя только CSS. Вы все равно должны знать цвет фона, конечно (предполагая белый здесь):

<span class="half-a-border-on-top">Hello world!</span>

<style>
.half-a-border-on-top {
  border-top:1px solid black;
  position: relative;
}
.half-a-border-on-top:after {
  padding:0;margin:0;display:block;/* probably not really needed? */
  content: "";
  width:50%;
  height:1.1px;/* slight higher to work around rounding errors(?) on some zoom levels in some browsers. */
  background-color:white;
  position: absolute;
  right:0;
  top:-1px;
}
</style>

Результат:

Half of a top border visible above the text "Hello world"

Отрывок

    .half-a-border-on-top {
      border-top:1px solid black;
      position: relative;
    }
    .half-a-border-on-top:after {
      padding:0;margin:0;display:block;/* probably not really needed? */
      content: "";
      width:50%;
      height:1.1px;
      background-color:white;
      position: absolute;
      right:0;
      top:-1px;
    }
    <span class="half-a-border-on-top">Hello world!</span>

Ответ 3

покажите вам, как я редактирую код лео, чтобы поставить половину границы слева в центре.

попробуйте следующее:

html code

<div class="half-a-border-on-left">Hello world!</div>

css code

   <style>
.half-a-border-on-left {
  border-left: 1px solid black;
  position: relative;
  height: 50px;
  background: red;
}
.half-a-border-on-left:after {
  padding:0;
  margin:0;
  content: "";
  width: 1px;
  height: 10px;
  background-color:white;
  position: absolute;
  left:-1px;
  top: -10px;
}
.half-a-border-on-left:before {
  padding:0;
  margin:0;
  content: "";
  width: 1px;
  height: 10px;
  background-color:white;
  position: absolute;
  left: -1px;
  bottom: -5px;
}
</style>

Это код, который я использую, чтобы поставить половину границы, спасибо вам,