2016-11-01 3 views
4

私はスキューを使用していますが、変換はスキューボックス内のすべてのコンテンツにも適用されます。段落はイタリック体で表示されています。私は内部のコンテンツに影響を与えずにボックスを歪曲するにはどうすればよい http://codepen.io/Sidney-Dev/pen/RGXVpb段落に適用されるスキュープロパティ

.services { 
 
    display: flex; 
 
    overflow: hidden; 
 
} 
 
.left { 
 
    background-color: black; 
 
    height: 250px; 
 
    width: 60%; 
 
    margin-left: -50px; 
 
} 
 
.right { 
 
    background-color: green; 
 
    width: 50%; 
 
    margin-right: -500px 
 
} 
 
.skew { 
 
    transform: skew(-15deg); 
 
} 
 
p { 
 
    color: white; 
 
}
<section class="services"> 
 
    <div class="left skew"> 
 
    <div class="inner-container"> 
 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro praesentium deserunt fugiat, qui est delectus vel eligendi totam quidem amet laudantium harum, saepe voluptates voluptatibus. Aliquam ea, totam nulla magni.</p> 
 
    </div> 
 
    </div> 
 
    <div class="right skew"> 
 
    </div> 
 
</section>

希望することができます。

+0

skew(15deg)を追加します。親に対して 'linear-gradient'を使います。 [** Fiddle **](https://jsfiddle.net/9Lesw5tk/) –

+0

私は実際に線形グラデーションのアイデアが好きです。しかし、ウィンドウを縮小すると段落がオーバーフローすることがわかります。だから私はこのケースではどのようにして黒い容器の中に段落を残しておくことができますか? – Ragmah

+0

も..ボックスを分ける線(中央のもの)はまっすぐに見えません...代わりに、それはギザギザに見えます。 – Ragmah

答えて

1

-15degに偏っています。 "unskew" に

.skew .inner-container { 
    transform: skew(15deg); 
} 

だけ内側のコンテンツを:ちょうどこのようなあなたの.inner-containerに15degを追加します。

.services { 
 
    display: flex; 
 
    overflow: hidden; 
 
} 
 
.left { 
 
    background-color: black; 
 
    height: 250px; 
 
    width: 60%; 
 
    margin-left: -50px; 
 
} 
 
.right { 
 
    background-color: green; 
 
    width: 50%; 
 
    margin-right: -500px 
 
} 
 
.skew { 
 
    transform: skew(-15deg); 
 
} 
 
.skew .inner-container { 
 
    transform: skew(15deg); 
 
} 
 
p { 
 
    color: white; 
 
}
<section class="services"> 
 
    <div class="left skew"> 
 
    <div class="inner-container"> 
 
     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro praesentium deserunt fugiat, qui est delectus vel eligendi totam quidem amet laudantium harum, saepe voluptates voluptatibus. Aliquam ea, totam nulla magni.</p> 
 
    </div> 
 
    </div> 
 
    <div class="right skew"> 
 
    </div> 
 
</section>

+1

解答には説明が付いています。 – Ragmah

+0

ありがとう、私は助けてうれしいです。 – andreas

+0

@Muhammad Usman 17の答えを見てもらえませんか。 真ん中のライン(黒​​いボックスと緑の間)がちょっとギザギザに見える。 送信したスニペットを使用しましたが、それも同じです – Ragmah

1

これは `skew`を使用せずに行うことができますpタグに

.services{ 
 
    display: flex; 
 
    overflow:hidden; 
 
} 
 
.left{ 
 
    background-color: black; 
 
    height: 250px; 
 
    width: 60%; 
 
    margin-left: -50px; 
 
} 
 
.right{ 
 
    background-color: green; 
 
    width: 50%; 
 
    margin-right: -500px 
 
} 
 

 
.skew{ 
 
    transform: skew(-15deg); 
 
} 
 

 
p{ 
 
    color: white; 
 
    transform: skew(15deg); 
 
}
<section class="services"> 
 
<div class="left skew"> 
 
    <div class="inner-container"> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro praesentium deserunt fugiat, qui est delectus vel eligendi totam quidem amet laudantium harum, saepe voluptates voluptatibus. Aliquam ea, totam nulla magni.</p> 
 
    </div> 
 
</div> 
 
<div class="right skew">  
 
</div> 
 
</section>

+0

他の回答のコメントに追加したように、歪んだ線は少しギザギザに見えます。 – Ragmah

関連する問題