Обрезка текста справа с использованием чистого CSS - PullRequest
0 голосов
/ 28 декабря 2018

Я пытаюсь добиться эффекта обрезания текста правой верхней границей, но рядом с ним ничего не получается.Может ли кто-нибудь помочь мне с этим эффектом, как показано на рисунке.Sample Image

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

A - когда у вас фиксированная ширина кнопки: (и ее цвет фона может быть прозрачным): вы можете поместить три делителя друг в друга:

  • второйодин будет повернут и будет иметь встроенный теневой бокс
  • третий будет повернут в направлении, противоположном второму div

Все поля имеют переполнение скрытым:

div.outer_box{
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgba(0,0,0,0.1);
    width: 160px;
    height: 35px;
    overflow: hidden;
}
div.containter{
    position: absolute;
    overflow: hidden;
    box-shadow: inset -5px 0px 12px 0px rgba(0,0,0,0.3);
    border: 0px;
    padding: 5px;
    top: -51px;
    width: 140px;
    height: 160px;
    transform: rotate(-30deg);
}
div.containter2{
    position: absolute;
    left: 0px;
    top:120px;
    width: 380px;
    transform: rotate(30deg);
    padding: 2px;
}
<html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
    </head>
    <body>
        <div class="outer_box">
            <div class="containter">
                <div class="containter2">
                    <span style="color:red; font-weight:bold; font-size: 22px;">
                        <span style="color:red;">OUR</span>
                        <span style="color:darkblue;">BRANDS</span>
                    </span>
                </div>
            </div>
        </div>
    </body>
</html>

для работы в Safari или IE: используйте следующие строки для вращения :

-ms-transform: rotate(20deg); /* IE 9 */
-webkit-transform: rotate(20deg); /* Safari */
transform: rotate(20deg);

и для shadow :

-webkit-box-shadow: inset -15px 0px 22px 0px rgba(0,0,0,0.75);
-moz-box-shadow: inset -15px 0px 22px 0px rgba(0,0,0,0.75);
box-shadow: inset -15px 0px 22px 0px rgba(0,0,0,0.75);

B - когда ширина вашей кнопки может изменяться: Если у вас сплошной (не прозрачный) цвет фона этой кнопки, вы также можете создать «шейдер»-див "и уговорил его направо:

div.outer_box{
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: rgb(222,222,222);
    width: 160px;
    height: 35px;
    overflow: hidden;
}
div.outer_box:hover{
    width: 220px;
}
div.text_container{
    position: absolute;
    left: 0px;
    top:0px;
    width: 380px;
    padding: 5px;
}
div.right_cut_off{
    position: absolute;
    box-shadow: -5px 0px 12px 0px rgba(0,0,0,0.2);
    background-color: rgb(222,222,222);
    top: -60px;
    right: -10px;
    width: 25px;
    height: 140px;
    transform: rotate(-30deg);
}
<html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
    </head>
    <body>
        <div class="outer_box">
            <div class="text_container">
                <span style="color:red; font-weight:bold; font-size: 22px;">
                    <span style="color:red;">OUR</span>
                    <span style="color:darkblue;">BRANDSXXXXXXXXXXXX</span>
                </span>
            </div>
            <div class="right_cut_off"></div>
        </div>
    </body>
</html>
0 голосов
/ 28 декабря 2018

.wrapper{
  background: #E2E2E2;
  display: inline-block;
  font-size: 25px;
  position:relative;
  border: 1px solid gray;
}
.wrapper::after{
  content: " ";

  position:absolute;
  top:0;
  right:0;
  width: 10px;
  display: block;
  border-right: 15px solid white;
  border-bottom: 30px solid transparent;
}
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
  <div class="wrapper">Your text</div>
</body>
</html>

некоторыми другими способами:

1) использовать изображение в формате png и использовать абсолютный

2) путь клипа как Paulie_Dпредлагается в комментариях

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...