Обтекание текста вокруг повернутого Div - PullRequest
0 голосов
/ 06 июля 2018

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

Если я использую float: left для заголовка, текст сначала появляется вокруг заголовка, а затем заголовок фактически поворачивается, в результате чего текст перекрывается.

Пример моей текущей системы:

<html>
    <h1 style="transform: rotate(-60deg); float:left">
        Test Heading
    </h1>
    <p>
        HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
    </p>
</html>

Вот скриншот поведения цели: enter image description here

Ответы [ 3 ]

0 голосов
/ 06 июля 2018

Вы можете исправить высоту, добавив: before element,

больше примеров в этой статье - http://www.benknowscode.com/2014/01/css-rotated-text-parent-dimensions-and-spacing-issues.html

Пожалуйста, проверьте этот фрагмент -

    <html>
  <h1>
    Test Heading
  </h1>
  <p>
        HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
          HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
  </p>
</html>

h1 {
   display: inline-block;
   white-space: nowrap;
   transform: translate(0,90%) rotate(-60deg);
   transform-origin: 0 0;
   float: left;
}
h1:before {
   content: "";
   float: left;
   margin-top: 100%;
}

http://jsfiddle.net/nudv9z43

0 голосов
/ 10 июля 2018

Добавлен "хак" с треугольниками, надеюсь, он вам поможет -

<html>
  <div class="wrap">
  <h1>
    Test Heading Y
  </h1>
  <div class="one"></div>
  <div class="two"></div>
  <div class="three"></div>
  <div class="four"></div>
  <div class="five"></div>
  <p>
        HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
         HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
          HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
  </p>
  </div>
</html>

h1 {
   display: inline-block;
   white-space: nowrap;
   transform: translate(0,90%) rotate(-25deg);
   transform-origin: 0 0;
   position: absolute;
   left: 0;
   top: 22px;
}
.wrap {
  position: relative;
}
.wrap > div {
  height: 22px;
  float: left;
  width: 250px;
  clear: both;
}
.wrap .two {
  width: 200px;
}
.wrap .three {
  width: 150px;
}
.wrap .four {
  width: 100px;
}
.wrap .five {
  width: 50px;
}

http://jsfiddle.net/nudv9z43/20/

0 голосов
/ 06 июля 2018

Вы можете попробовать добавить маржу к <h1>

Например:

<html>
<h1 style="transform: rotate(-60deg); float:left; margin:3em 2em;">
    Test Heading
</h1>
<p>
    HLorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris diam metus, mollis eu purus vitae, semper fermentum nunc. Phasellus nec iaculis sem, in imperdiet eros. Maecenas ligula nibh, elementum in felis eget, vehicula faucibus nibh. Morbi rhoncus vehicula feugiat. Pellentesque vitae lobortis arcu. Nullam vel mi elementum mi feugiat vehicula. Cras tincidunt purus dolor, eleifend aliquet velit ornare tristique. Maecenas lobortis tristique est, sed facilisis lectus pulvinar vestibulum. Nunc tristique tellus non facilisis elementum. Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.Nam lobortis in velit non tempus. Phasellus lobortis vel neque non iaculis. Praesent tristique risus a gravida imperdiet. Quisque fringilla, massa quis placerat congue, nulla velit varius nisi, vel fermentum tortor velit ut nibh.
</p>

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