I am working on a portfolio website with ReactJS + TailwindCSS.
Part of it is a section called 'About Me' where I have longer text. This longer text fits nicely as long as the text is not 'too long', then it reaches out of its parent div.
You can see similar effect on my Article Cards. I want them to stay the same size, nevertheless the amount of text in the footer.
This is my React Component where I render the the Article Cards:
function MainComponent() {
return (
<div className="container my-12 mx-auto px-4 md:px-12">
<div className="flex flex-wrap -mx-1 lg:-mx-4">
<ProjectComponent
projectName="Lorem Ipsum 1"
projectDescription="Lorem ipsum dolor sit amet, consectetur adipiscing elit. In et nisl nulla. Sed tincidunt diam sit amet dictum posuere. Ut diam velit, rhoncus nec ligula vel, hendrerit hendrerit dui. Nunc eget augue faucibus, interdum diam condimentum, ullamcorper ex. Aenean ultricies urna at posuere pharetra. Nunc facilisis velit vitae ornare pretium. Suspendisse egestas sem eu facilisis tempor. Nullam ac malesuada libero. Mauris vulputate viverra mi, ac rutrum ante suscipit in. Donec vitae aliquet dolor. Aenean malesuada nec enim in tempus."
projectImage={TEST_IMAGE_URL}
projectUrl="someurl"
/>
<ProjectComponent
projectName="Lorem Ipsum 2"
projectDescription={TEST_ABOUT_ME}
projectImage={TEST_IMAGE_URL}
projectUrl="someurl"
/>
</div>
</div>
)
}
This is my Header Component (the About Me part that you can see overflow)
function HeaderComponent() {
return (
<div className="max-w-full h-1/5 rounded-sm shadow-lg flex flex-row">
<img src={profile} alt="Profile" className="flex-none w-64 p-2" />
<div className="flex-grow min-h-full">
<h1 className="text-lg text-white mt-10 font-sans">My Name</h1>
<p className="text-sm text-white mt-5 font-sans">{TEST_ABOUT_ME}</p>
</div>
<div className="flex-none w-64"></div>
</div>
)
}
Project Component that displays the Article Cards is wrapped in following DIV:
<div
className={`my-1 px-1 w-full md:w-1/2 lg:my-4 lg:px-4 lg:w-1/3 transform transition-all duration-1000 ease-out scale-${scale}`}
></div>
I am pretty sure that it is something with my Flexbox, I am still quite new with this, but I couldn't figure out how to make my texts not to overflow in Y axis.
You can use h-# + max-h-# + overflow-auto for this. Checkout a working example.
<div class="flex gap-x-8">
<div class="flex flex-1 flex-col">
<div class="h-48 bg-gray-100"></div>
<div class="h-48 max-h-48 overflow-x-hidden overflow-y-auto bg-blue-200">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Unde officiis qui rerum possimus fugit enim quos illo nostrum. Maxime soluta nostrum voluptas iusto autem, odit tenetur facere reprehenderit molestiae facilis?
</div>
</div>
<div class="flex flex-1 flex-col">
<div class="h-48 bg-gray-100"></div>
<div class="h-48 max-h-48 overflow-x-hidden overflow-y-auto bg-blue-200">
Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente error, vel expedita odio, nobis magni tempore optio voluptas deleniti eum nemo corrupti animi provident ipsa deserunt voluptatem sint? Est, quo.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo quidem recusandae officiis quaerat adipisci corrupti ab, dolorem, ipsum repudiandae quam asperiores esse iusto veniam cupiditate magnam! Aspernatur velit quae vero!
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aperiam hic magnam perspiciatis eligendi perferendis temporibus, provident nihil iste libero aliquam natus mollitia maiores. Consequuntur voluptatum repudiandae similique quo nulla accusantium!
</div>
</div>
</div>
Related
This is the kind of magazine style effect I am looking to recreate:
Using floats I seem only to be able to achieve text flowing underneath.
Using shape-outside I seem to be only able to use one shape per div of text at a time. Ideally I would be using multiple against the same div.
I have also tried using css grid, trying something to this effect to wrap text around the top and bottom of just one image:
.mygrid {
display: grid;
grid-template-rows: 150px 150px 150px;
grid-template-columns: 150px 150px;
grid-template-areas:
"para para"
"image para"
"para para";
}
.lorem {
background-color: red;
grid-area: para;
}
.image {
background-color: blue;
grid-area: image;
}
<div class="mygrid">
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="im">I'm the image!</div>
</div>
What you look for is a typical float use. Grid is not yet able to do these kind of things, flowing text through different grid cell
example
.l{float:left;}
.r{float:right}
/* demo */
img{padding: .25em .25em 0;}
p{width:400px;border:solid;margin:1em auto;}
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.<img class="l" src="https://dummyimage.com/100x50"> Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.<img class="r" src="https://dummyimage.com/100x50"> Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus</p>
From your code you posted, dropping the grid system and using float instead, an option could be : (setting image ahead in the flow)
.mygrid {
width:300px;
}
.mygrid:before {
height:150px;
float:left;
content:''
}
.im{
clear:left;
float:left;
width:150px;
height:150px;
background:gray;
display:grid;
align-content:center;
text-align:center;
}
/* 2 images ? */
body{
display:flex;justify-content:space-between;
}
.im~.im {float:right;}
.mygrid+.mygrid .im {background:silver}
.lorem:before{
content:'';
float:left;
height:300px;
}
<div class="mygrid">
<div class="im">I'm the image!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
</div>
<div class="mygrid">
<div class="im">I'm the image!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="im">I'm the image!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
<div class="lorem">Lorem ipsum dolor sit amet consectetur, adipisicing elit. Soluta ipsam, iure facilis optio eum dignissimos. Quis aliquam inventore a sit quo est ut voluptas nesciunt iure, veniam consequuntur! Error, recusandae!</div>
</div>
I have tried like:
element::-webkit-scrollbar-corner {
border-bottom-right-radius: 20px !important;
}
but it is not working ..
Better way is to wrap the scroll-view into a view and apply border-radius to the outer view like below.
<div class="view">
<div class="scroll-view">
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nulla sed
commodi pariatur minima cumque autem, tenetur sit sapiente natus
facilis. Consequatur reiciendis omnis voluptates earum obcaecati quia
alias nulla fugiat! Lorem ipsum dolor sit, amet consectetur adipisicing
elit. Nulla sed commodi pariatur minima cumque autem, tenetur sit
sapiente natus facilis. Consequatur reiciendis omnis voluptates earum
obcaecati quia alias nulla fugiat! Lorem ipsum dolor sit, amet
consectetur adipisicing elit. Nulla sed commodi pariatur minima cumque
autem, tenetur sit sapiente natus facilis. Consequatur reiciendis omnis
voluptates earum obcaecati quia alias nulla fugiat! Lorem ipsum dolor
sit, amet consectetur adipisicing elit. Nulla sed commodi pariatur
minima cumque autem, tenetur sit sapiente natus facilis. Consequatur
reiciendis omnis voluptates earum obcaecati quia alias nulla fugiat!
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Nulla sed
commodi pariatur minima cumque autem, tenetur sit sapiente natus
facilis. Consequatur reiciendis omnis voluptates earum obcaecati quia
alias nulla fugiat! Lorem ipsum dolor sit, amet consectetur adipisicing
elit. Nulla sed commodi pariatur minima cumque autem, tenetur sit
sapiente natus facilis. Consequatur reiciendis omnis voluptates earum
obcaecati quia alias nulla fugiat!
</div>
</div>
<style>
.view {
height: 200px;
width: 200px;
border-radius: 20px;
border: 1px solid red;
padding: 10px;
}
.scroll-view {
width: 100%;
height: 100%;
overflow-y: scroll;
}
.scroll-view::-webkit-scrollbar {
width: 20px;
}
.scroll-view::-webkit-scrollbar-thumb {
background-color: red;
border: 4px solid transparent;
border-radius: 20px;
background-clip: padding-box;
}
</style>
It would look something like this.
screenshot of output
The simplest solution I can think of, is to wrap the element that has the scrollbar inside another element, and then to give "overflow: hidden" and "border-radius: 20px" to the outer element:
/* This is just to see the effect better */
body {
background-color: #444;
}
/* This will make sure that the scrollbar is on the inner element */
.internal {
height: 100%;
overflow-y: scroll;
}
/* This will cut the borders */
.wrapper {
width: 200px;
height: 100px;
border-radius: 15px;
overflow:hidden;
background-color: #fff;
}
<div class="wrapper">
<div class="internal">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed luctus quis sapien quis ultrices. Nullam et nibh in odio lacinia feugiat et et ipsum. Praesent condimentum consequat aliquam. Ut ac dignissim arcu, in pulvinar odio. Nunc posuere mi id orci tristique blandit. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus non rutrum lorem. Aliquam non urna at nulla elementum tincidunt quis vitae erat. Suspendisse vel erat nunc. Nunc ac cursus urna. Nunc cursus vestibulum lectus vel mollis. Sed elementum eget felis ut facilisis. Vivamus at mattis felis.
</div>
</div>
I have been trying to solve this problem for hours but just can't
.container {
position: absolute;
top: 50%;
background-color: white;
}
.text1 {
float: left;
z-index: 0;
color: black;
}
#face1 {
z-index: 0;
float: right;
top: 10px;
}
<div class="container">
<h1 class="text1">Povjerenje</h1>
<p class="text1" align=l eft>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget facilisis justo. Etiam non gravida leo. Integer venenatis massa massa, ultrices ornare ex molestie sit amet. Nulla imperdiet dignissim metus sit amet imperdiet. Etiam fermentum scelerisque
commodo. Integer porta euismod nisl sit amet tristique. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Maecenas vulputate aliquet orci sed scelerisque. Integer vulputate et dolor at hendrerit. Maecenas aliquam
elit tellus, sed condimentum felis dictum eget. Sed justo tellus, pulvinar vel egestas ac, scelerisque ut nulla. Nam aliquam ligula quis eros eleifend tempus. Pellentesque rhoncus efficitur elit eget sagittis.ntesque rhoncus efficitur elit eget
</p>
<img id="face1" src="http://placekitten.com/100/100">
</div>
I have a div container holding an image and text and I wan't to make texrt wrap around the image but it always go below or above the image. What I want to do is automatic wraping of text over the image so I can move it and text will automatically move coresponding to it.
Any ideas on how to fix it?
Thanks
Put the image inside the paragraph.
.container {
background-color: white;
}
.text1 {
color: black;
}
#face1 {
float: right;
}
<div class="container">
<h1 class="text1">Povjerenje</h1>
<p class="text1" align=l eft><img id="face1" src="http://placekitten.com/100/100">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi eget facilisis justo. Etiam non gravida leo. Integer venenatis massa massa, ultrices ornare ex molestie sit amet. Nulla imperdiet dignissim metus sit amet imperdiet. Etiam fermentum scelerisque
commodo. Integer porta euismod nisl sit amet tristique. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Maecenas vulputate aliquet orci sed scelerisque. Integer vulputate et dolor at hendrerit. Maecenas aliquam
elit tellus, sed condimentum felis dictum eget. Sed justo tellus, pulvinar vel egestas ac, scelerisque ut nulla. Nam aliquam ligula quis eros eleifend tempus. Pellentesque rhoncus efficitur elit eget sagittis.ntesque rhoncus efficitur elit eget
</p>
</div>
use css float: right; / float: left;
image must be before the text
no need to be part of <div> with text
img {
float: right;
margin-left: 10px;
}
p {
margin-top: 0;
}
<img src="http://placehold.it/100x100" alt="" />
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi cum doloremque eum impedit, libero modi, natus nulla omnis quaerat sapiente sed suscipit vel? Aliquid corporis cupiditate, dolore dolorem eius facilis hic illo iste libero magni maiores maxime, necessitatibus, odit officiis optio perferendis placeat porro praesentium recusandae repudiandae suscipit tempore totam ullam vel veritatis vitae voluptate voluptatibus? Accusantium aperiam, cum dignissimos dolore est et hic impedit, magnam numquam obcaecati provident quisquam saepe? Amet enim est explicabo impedit in modi nobis perferendis provident totam! Ab, accusantium aliquam aut autem consequatur cupiditate, deleniti dignissimos distinctio dolor ea eveniet excepturi facilis harum id impedit iure iusto laboriosam modi molestiae nam necessitatibus nihil nobis omnis perspiciatis quaerat reiciendis rem repellat rerum sapiente tempore, unde velit vitae voluptates. Ab alias culpa cupiditate dolor dolorem ea esse et eum eveniet ex illo laboriosam natus qui quibusdam quos, recusandae voluptate! Accusamus adipisci alias animi asperiores distinctio dolorem dolorum ducimus ea earum enim eum facilis illo inventore labore maxime molestias nam neque nulla obcaecati, quod quos ratione recusandae soluta sunt ullam ut vero! Esse libero perspiciatis qui saepe sed veniam. A consectetur culpa deleniti doloremque doloribus nobis quaerat quidem quo saepe. Aut error nemo nostrum numquam quae ratione veritatis?</p>
</div>
I'm working in a system where I can modify the CSS but not the HTML (can't use javascript either). I'm trying to get the text to wrap around an image placed in the top right of a page. The problem I've been having is that every solution I've found requires that the image be listed before the text in the html. Is there a way around this? Thanks!
<style type="text/css">
#media only screen and (max-width:480px) {
img {
display:block;
float:none;
margin:0 auto 20px !important;
}
}
</style>
<div style="Margin:20px;">
<p style="Margin:0; font:16px/1.25 sans-serif; color:#4CB3E8; text-align:justify;">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Soluta, aut eligendi dignissimos, illum eaque ut architecto quisquam! Odio, aliquam eligendi iste tempore beatae, deserunt! Officia temporibus at, debitis excepturi porro mollitia aspernatur labore unde dolores quae blanditiis dignissimos error aut iure magnam sed placeat impedit incidunt praesentium natus dolorum.
</p>
<img src="http://i.imgur.com/6bkt2Qk.gif" align="right" width="140" height="140" border="0" style="Margin:0 0 20px 20px; background:#E79851;" />
</div>
There isn't really a way to do what you're describing, but you could definitely create a workaround, something like this:
img{
border-radius: 50%;
margin: 20px;
border: 2px solid black;
position: absolute;
top: 0;
right: 0;
}
div#main::before{
content: "";
float: right;
margin: 90px;
}
<div id="main">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Fermentum et sollicitudin ac orci phasellus egestas. Vitae congue mauris rhoncus aenean vel elit scelerisque. Sed lectus vestibulum mattis ullamcorper. Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim. Sed augue lacus viverra vitae congue eu. Tellus orci ac auctor augue mauris. In iaculis nunc sed augue lacus. Quis commodo odio aenean sed. Sollicitudin nibh sit amet commodo nulla facilisi. Metus dictum at tempor commodo ullamcorper a lacus vestibulum sed. Scelerisque eleifend donec pretium vulputate sapien nec sagittis. Lorem ipsum dolor sit amet consectetur. Facilisis volutpat est velit egestas.
Dolor sit amet consectetur adipiscing. Id eu nisl nunc mi. Varius vel pharetra vel turpis nunc eget. Amet dictum sit amet justo donec enim. Diam donec adipiscing tristique risus nec. Integer quis auctor elit sed vulputate mi sit amet. Magna ac placerat vestibulum lectus mauris. Duis ultricies lacus sed turpis tincidunt id aliquet risus feugiat. Ullamcorper a lacus vestibulum sed arcu non odio euismod. Sit amet massa vitae tortor condimentum lacinia quis. Lectus proin nibh nisl condimentum id venenatis a condimentum. Nunc non blandit massa enim nec. Dolor sit amet consectetur adipiscing elit. Diam maecenas sed enim ut sem viverra. Viverra maecenas accumsan lacus vel facilisis volutpat est. Amet nulla facilisi morbi tempus iaculis urna. Mauris ultrices eros in cursus turpis massa tincidunt.
Eu volutpat odio facilisis mauris. Elit sed vulputate mi sit amet mauris. Dignissim convallis aenean et tortor at risus viverra. Lobortis feugiat vivamus at augue eget arcu dictum. Nec sagittis aliquam malesuada bibendum arcu vitae elementum curabitur. Congue eu consequat ac felis donec. Posuere lorem ipsum dolor sit amet consectetur adipiscing elit duis. Mi proin sed libero enim. Risus pretium quam vulputate dignissim suspendisse in est ante in. Pellentesque habitant morbi tristique senectus et netus et. Amet justo donec enim diam vulputate ut pharetra. Tristique magna sit amet purus gravida quis blandit turpis cursus.
Vel facilisis volutpat est velit egestas dui. Vitae nunc sed velit dignissim sodales ut eu sem integer. Aliquet enim tortor at auctor urna. Eget mauris pharetra et ultrices neque ornare aenean euismod elementum. Vel risus commodo viverra maecenas. Dignissim diam quis enim lobortis scelerisque fermentum dui faucibus in. Ut tellus elementum sagittis vitae et. Nunc sed blandit libero volutpat sed cras. Tellus in hac habitasse platea dictumst vestibulum rhoncus. Ornare arcu odio ut sem. Nisi scelerisque eu ultrices vitae auctor eu augue ut. Diam in arcu cursus euismod. Morbi tristique senectus et netus. Senectus et netus et malesuada fames ac turpis egestas. Duis at consectetur lorem donec massa. Tellus at urna condimentum mattis pellentesque id. Sed arcu non odio euismod lacinia.
<img src="https://via.placeholder.com/150">
</div>
I am fairly new to HTML so I wasn't sure how to go about finding the answer on how to do this but basically I am trying to box off a certain chunk of text and indent and fill in the background color for only a small section(not all the way across the width of the webpage) like this:boxing
You could do something like this:
//HTML
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi leo risus, porta ac consectetur ac, vestibulum at eros. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
</div>
//CSS
.content {padding: 20px; background-color: #333}
.content p {background-color: #eee; margin: 0 0 20px 0; padding: 10px}
JSFiddle here: https://jsfiddle.net/qszx5uwh/
<div class="main_container">
<div class="box1">text for box 1</div>
<div class="box2">text for box 1</div>
<div class="box3">text for box 1</div>
</div> <!--main_container ends here-->
<style type="text/css">
.main_container{float:left;width:500px;}
.box1{float:left;width:500px;background:#cc0000;}
.box2{float:left;width:500px;background:#cccccc;}
.box3{float:left;width:500px;background:#f1f1f1;}
</style>
All you'll need is text wrapped with text-wrapper for setting paddings and background-color.
.text-container{
background-color: yellow;
padding-right: 50px;
}
<div>
<div class="text-container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis odit, placeat repellendus ab sint dolore aut itaque earum molestias laudantium dolor nostrum nihil aperiam eos illum quia tempore beatae voluptate.</p>
</div>
<div class="text-container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis odit, placeat repellendus ab sint dolore aut itaque earum molestias laudantium dolor nostrum nihil aperiam eos illum quia tempore beatae voluptate.</p>
</div>
<div class="text-container">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis odit, placeat repellendus ab sint dolore aut itaque earum molestias laudantium dolor nostrum nihil aperiam eos illum quia tempore beatae voluptate.</p>
</div>
</div>