Bootstrap is the most popular CSS framework.
And it makes it easier to build great looking websites. David teaches this course. And
he has a bunch of experience in Bootstrap, and even helped create a popular
bootstrap library. Hey, YouTube, my name is David. And today I've prepared for
you a crash course for bootstrap five. So the most common front end framework used around the
world. I'm a co founder of MD bootstrap.com. So I think we are the one of the best people to
teach you that because what MDB is, is actually Material Design connected with Bootstrap. So we've
created open source library where we actually use Bootstrap five, and we've been doing this for five
years already. We started back in 2015, when the bootstrap three was the current version, then we
migrate to bootstrap four. And now, obviously, we are using Bootstrap five. So once you finish
that crash course, you might be interested in checking this out. Because as I said, this is
the library where we decide to connect material design from Google. So to specific design, which
comes from Google Apps, with the Bootstrap. So we have a hell of a lot of experience, in depth.
What we're going to cover in this video, what bootstrap actually is just a few words, because
you're gonna see this on the real examples, then I'm going to guide you for the installation
and the setup. So how to start working with it, there are going to be a few ways how you
can add the bootstrap to your project, then we're not going to cover the most important
part, which is a grid system. So this would make bootstrap so famous. And we'll be also using and
learning how to use different components. And finally, at the end of the video, I'm going to
show you how to build a page from scratch using Bootstrap. So what the Bootstrap is a long story
short, is the most popular front end framework around the globe now, so let me give you
some numbers in 2013, bootstrap around 1.6% of top million sites, then back in 2016, bootstrap
ran already 15%. In 2018, it was already 18%. And nowadays, it's more than 20%. Around the globe. So
it's a huge number. It's really, really widely use library. And there is this page, which is called
the bill with, which gives bootstrap a 72% of share of the framework market. So within all
the pages, which are utilizing any framework, Bootstrap has 72% of it. So I believe this
is a good reason to know what's, why should you use Bootstrap. There are many, many different
reasons why to do it, but obviously, did increase your development speed. So if you use the existing
components, like you've seen on the screen before, you've gone, just save a lot of time,
you could create all of it by yourself. But there is no point because it's been
created for you. And it's been tested by the millions of different developers. responsiveness.
This is what made bootstrap actually so famous. So but now it's obvious when you
create a page, it has to be responsive, but back in the days it doesn't fit in that
Wasn't that obvious. And bootstrap grid was the revolutionary tool, which
change a lot in the web development. Obviously, when you're a developer, if you use
a library that prevents you from repetition, so you don't write pretty much the same code
in different ways for different projects. So that gives you the as the consistency to your
project, because just reusing the same code, bootstrap takers of the browser console.
Bootstrap, they cares about the browser compatibility, and I think it has the one of the
largest community in the world. So if you have any issue with it, or if you don't know how to
do it, simply, you know, search for a guru for it or just ask question on one of the one of the,
you know, Facebook groups or Stack Overflow, and then you're gonna get answer very, very quickly.
And finally, you can customize it to your needs. So these are the components which are there,
and we will be going for most of them. So we're going to put our hands on the keyboard, and we're
going to start using them. So we're going to just create something out of it. So yeah, I mean,
without further ado, the jump into installation. In order to install Bootstrap, we need to navigate
to get bootstrap.com. And you can already see that there are multiple way on how you can install
bootstrap on how we can add bootstrap to your project. So we can already see that you can
use it with NPM projects. You can also use CDN, or you can simply download it so
I'm going to show you all three options. So let's start with the download option.
So I'm going to hit download button, they're going to redirect me to this page, obviously, it might
look a little bit different because Bootstrap is continuously updating the documentation.
However, it should looks more like this. And now once we are on the download page, let's
hit this download compiled CSS and J S. And let's save it. So this is going to store it
on my hard drive. And then let's go to this dist folder. And let's unzip it to the destination
of our choice, I'm going to pull it over here. Let's wait a second to unzip it. So as you
can see, it will contain CSS and J S. So let's actually, let's leave it like this. Now
what I'm going to do, I'm going to open the project in the Visual Studio code. Okay,
and let's create a new file. So I'm gonna hit new file, index. HTML, now I'm gonna type
exclamation mark and press up. This is what Emmet does. If you are not familiar with
Emmet, please check the tutorials on that, because I will be using this, I will also explain
how to do it, but I strongly encourage you to get familiar with it, because this is going to
speed up your development. And actually, one way of doing of using or speeding up
this development is to use it like this. So instead of typing the Learn the full formula
for linking the CSS and JS, I'm gonna just type link and press tab. And that's going to give me
this, the stack prefilled. And I'm just gonna say CSS slash, and I'm gonna search for Bootstrap
CSS file. So there's going to load the CSS, and the same for the body for the GS before
the ending body tag, so I'm gonna type script, source, and then hit tab. And I'm gonna do
the same. So J S slash Bootstrap, Bootstrap, J S. Now, if you want to load just the bootstrap
J S, you need to remember also to, to install or to add Popper, if you want to, like if you
want to use it, because bootstrap depends on on the proper js to go to proper JS web
page, and then either download it or loaded via CDN. But just to show you that it's
working, let's create h1, hello, bootstrap word. And let's open this in with the live
server. So this should open the browser now. And it will, I can already see for those who
are familiar with disrupt the default has changed already. This is the default bootstrap
font. But let's check the console, where we're going to see that our Bootstrap has been actually
loaded. By the way, I've just opened this console. This is part of Web Developer Tools, I did it with
pressing combination of CTRL SHIFT R. But you can also do it from here. So click on the menu, those
three lines over here, this hamburger so gold, and then go to more tools, and developer tools. So
that's how you can open and close it. And now we can see the error here. But this is regarding the
fav icon, which browser tries to log to the icon which is shown over here. Obviously, we don't have
any, so we can skip this warning. And now if we go to a network tab, and refresh our page, again,
we're going to see all the requests which our page is doing. So obviously, except for the index html,
so the file itself the HTML file, which we just created, we can also see that the Bootstrap CSS
and Bootstrap JS has been loaded successfully. Now as I mentioned before, if we would like to use for
example, pop over component which relies on popper dependency, we would have to also add properties
here. So before loading the bootstrap J S, or there is the other option. So instead of
loading Bootstrap, J S, we can also do it by loading the bundle. So the bundle contains all the
dependencies, right, so if you don't want to add a separate dependency over here, you can simply load
bundle instead. Now this is the most basic way of start using Bootstrap. So by doing only the
source file, now let's move to the next option. If you don't want to download and move
unzip files to your project manually, there is a faster way to do it. So let's
see how we can start using Bootstrap using Cydia. And then again, there are two
options So here we, we can have option with the bundled js, which contains all the dependencies.
Or we can use the separate option where we have the bootstrap loaded separately, and
Popper, as well. So let's see how it works. Let's create a new folder here, and
let's call it CDN. Let's open this in Visual Studio code. Let's create a new file,
index dot HTML, exclamation mark tab, that's going to create the basic structure. And now let's
just copy first, the CSS and place it within our head. And now let's copy the bundled version down
below the body. And then again, let's add h1. Hello, World CDN word, let's say, and let's open
this with view live server. And then you can also see that this is working fine. Let's open the
console to verify refresh. And we have Bootstrap CSS and Bootstrap bundle Minjae s. And as I
mentioned, instead of this single line over here, we could also use two entries for the proper
and the bootstrap separately. So let's save it. Let's check whether it's working fine. And
now we can see that the proper is being loaded separately. Okay, now let's move to the
next installation option, which is NPM. So for those of you who are creating your project
with the use of the package managers like NPM, or yarn, probably that's going to be the
easiest way to add bootstrap to your project. So I'm going to show you how to do debt. So let's
create a new folder, and PM, let's open this with Visual Studio code. And let's quickly initialize
the empty NPM project. If you're not familiar with NPM, I strongly encourage you to watch some
of the tutorials on how to use NPM. Because that definitely gonna speed up your development
and with use of frameworks like React view, and Angular, this is kind of basics, or basic
knowledge. So it's very wise to be familiar with it. So let's do NPM in it to initialize our new
project is going to ask a couple of question. So the project name was called bootstrap NPM.
And then, let's just accept all the other default values, we could, we could decide upon
description and report and few other options which are not required. At this moment. That's going to
create a package json file with all the settings. And now again, let's create index dot HTML file.
And what we're going to do now we're going to install the dependencies, I'm going to use npm
install Bootstrap, which gonna install all the dependencies under node module. So as you can
see, we have node modules Bootstrap. And then we have J S, CSS scss. So for those of you who
want to somehow customize the bootstrap properly, this will be the way to work with so linking via
CSS, we will be using this. So let's now link our our dependencies here. So again, in hat, let's
do link. And now we need to say node modules. bootstrap this CSS, and then Bootstrap CSS, we can
also use mean, so minimize version of CSS. And for the body, we're going to do exactly the same. So
link, script source, and then go to Node modules. Bootstrap, this j s, this time, and Bootstrap
bundle J S. So this will give us again, bootstrap plus the dependencies. So let's do h1 Hello
NPM word. And let's open this in live server. So you can see already the font is there. And
let's refresh the network. So we have Bootstrap, CSS and bhandal. If you don't
want to use the bundle, but install the proper separate you can obviously
do it. So just type npm install at popper J S slash core minus minus safe and that will
store it in under node modules. So now you will see and two folders here so Popper, and Bootstrap
and obviously you can link it now to your project. Okay, so if you want to understand why bootstrap
become so famous, we have to start aware of the grid system because this was the real game changer
back in the days. And before we started learning, because before, I'm going to show you how to
start using this in your projects in your website, let me start, perhaps with some demo,
so you would better understand that. So I've got the three examples here for you.
So to give you some insight to some feeling, what this grid and what this Bootstrap is
about, and why so many people in website use it, let's have a look at the following
example. So the the whole thing about the responsiveness is that the content should adjust
to the screen of the size, which you are using. So you shouldn't prepare like two different version
of the page, the same page for different devices like mobile and the desktop is never one
which will simply be have like a water, which depending on what you pour it into, it will
just you know use the whole space available for it. So the bootstrap uses the bootstrap grid uses
columns to achieve that goal. And we can see here, this is like the very basic example. So on the
big screen, when we have a plenty of space, we can easily fit this main content here and the
sidebar, on the right side, right, we have a full screen, we have enough space, we could even
make it bigger, larger. But however, what's gonna happen when we start shrinking this, you're
gonna see that at certain point of time, there's not enough space for you know, the entire content
to fit in right, it becomes smaller and smaller and smaller. And if you have a lot of content over
here, you might end up in a situation where it's just not enough, right. If you if you go to the to
even smaller, then what's going to happen, thanks to Bootstrap is the going to stack one below each
other. So if you open our Web Developer Console, and use this mobile option, you can choose one
of the predefined screen size. So for example, we're going to check for iPhone S II, and
then you will see how this actually looks on on the phone. Right. So you can also
check some tablets, I believe here. Yeah, even on the nest, Google nest hub.
So this is more of a like a tablet. And so this allows us to create very complex structure
like this one. So imagine the page, you have some magazine whatsoever with some sidebar, header,
footer, and so on. And thanks to bootstrap, you can make it to behave differently on a different
screen. So not sure if you notice that is that the some of them, some of them, they simply
disappeared, right. So our sidebar is just gone. So you can not only reorder things,
depending on the screen size, but also make them visible or invisible at certain
screen sizes. And finally, this last example, hopefully explain will explain to you the
concept of this columns. So what bootstrap does, how does it work is that bootstrap uses a rows
and columns. And within each row, you have 12 units to use to spare. So you can use them as
you like, if you want to spend the whole 12 units, the units of width on the single row or on the
single column, right. So you want this main content to be the full to have the full width,
you are free to do so you can just say that, okay, this column will take 12 units, however, you can
obviously divide it differently and use different proportion. So this example here, how does it
work and what you see here, this double XL, XL, large, medium, SM, these are the screen size,
and we're going to cover them just in a second. So this is what you have to get familiar with. So
bootstrap this defines a different breakpoints. So these are like this kind of, you know, area so we
can define the extra small are the mobile phones small, between small and medium. It's something
I know for example, a huge falls or difference with the larger screen like a couple of inches,
then the medium could be tablet and the large is going to be like desktop and so on. So you
can define the size of your column for each and every screen size. That's what you can see
over here. So this column has multiple properties or actually you could say multiple with assigned
to it. So uh, where we are currently at now is this size so it's double, large. So this is for
the screens, which are bigger than 1400 pixels. And obviously, we this is bigger. So if you
check it here, it shows that we are now at 1600. But see what's gonna happen if we start shrinking
below this breakpoint, right? So I defined it, I want this column to have the unit of one. And
that's why we can fit 12 columns next to each other, right, we have 1-234-567-8910 1112. Now
what's going to happen if I start shrinking the screen, and I'm going to reach to the breakpoint,
all of a sudden, the size of the call has changed. And now the second size has been applied. So
now, each of the column has a size of two units. So now, obviously, because as you remember,
as we said, this is 12. In total, we can fit on the six columns next to each other.
And that's what happened here, right, so 123456, and another six is Jasmine wrapped. Let's
continue. And let's continue shrinking the screen. And then we once we reach the next one, the
next breakpoint, we are falling into this rule, or this size, which is three. Now obviously,
if we have size of three, we can just fit four, because four times three gives us 12. And then if
I continue shrinking that, I'm going to get into next one, which is now Call MD four, which means
each column has a size of four, so we can fit three, if I continue shrinking, I will go into
size S M six, which means each of these has six. And finally, at the smallest screen, each of
the column will take the full available width for the screen. So this is how it was designed
is how this is so amazing. So yeah, let's see. Let's see, let's learn how to use this boot
bootstrap grid now. So starting with breakpoints, I already told you how does it work? So
bootstrap comes with predefined breakpoints, so you have six of them. And this
breakpoints are usually you know, they're adjusted to the most common screens,
so you can customize them if you want, you can change it. However, I think it would
be just wise to go with the default value. Now, what we will be doing some coding in a
second. So I want you to understand that this grid consists of three elements. So what we always
need, if you want to start using it is grid, it's a row. And these are columns, one or
multiple. So we do start with the container. So the container is going to be the very first
element which we which we need, which required if we want to work start working with the bootstrap
grid. And so let's start here. I have the starting template here with just loaded Bootstrap, CSS and
J, s. And let's, let's create a container here. So we could see how does it work and some
content and let's add I'm gonna add cross border and that's open as well. Okay, so, this is our
container, as you can see, it has some margins from the left and from the right side. So, this
very first thing you should know. So if you want to use the container to use the full width, so you
would have your columns starting from very left, you should use something called container fluid.
And what it does, it will make use the whole with all available here. However, you can
also do something which is called container combined with the with the break point. So if
you want to mix it so depending on the screen, you want your container behave
differently, you can obviously and easily do this with Bootstrap.
So what you're going to see here is this S container however, when we start
shrinking, and we go below the medium break point, then all of a sudden the container start behaving
like a container fluid right. So you can simply say that you want to have the container fluid up
to until certain break point for example large. So if you can see from this table, right, so this
is going to have the 100% until this resolution, the screen size is met. So this is the very
first thing is container. Now let's move to grid So the grid consists of rows and nickels row
there is not much special about the rows. So let me just use a bit of CSS here, I'm going
to add some styles, which is going to help us to see the columns. So we're going to see
them with your own eyes. So I'm going to do something like this. And let's start with
this very basic example. So as I said, within our container, we want to use a row.
And inside our row, I want to use columns. So you can use something as simple as call. So
I have two columns now and let's just say call one call to, let's see, how does it look
like. So now you see our actually, maybe, maybe you don't see this yet. But if we go to
inspector, you will see that this is our row and this container, so container is a little
bit wider, or, and then we have a row here. Usually you have, you can have multiple rows here.
But what is really interesting are this columns, and I'm going to show an example in a second
with few rows. But it what's going on here. Now, if we use just the column, bootstrap will
basically do the calculation, do the math, and it will automatically assign the proper width for
each column, which means that if I'm gonna give you more columns, it will calculate the width.
And it was going to use the equal values for each right. Now, if I want to have more, obviously,
I can just have more rows with multiple columns. You can also have more columns within a single
row, but probably you're thinking or you might be asking now, okay, what if I want to use a specific
size for a different column, and there is nothing easier than that. So, again, breakpoints comes to
the picture. And we can use, we can use a columns of a given size. And I'm going to show you
two different options here. So let's get back to our code here. Let's get rid of this
one. And now let's do one thing we can do strictly with with saying just call six, or
let's do something else, because six is equal. So let's do call four, and call four. So what's
going to happen, as you can see, we said that this should have with a four. And this also
should have a width of four units. And now if we add another column here, it's called
outdoor Bootstrap, it will obviously automatically fill up their this remaining space, and we can
play with it to achieve different results right. Now. This is, however, not as flexible,
I mean, sometimes you want to use it, because you want to, you want your columns to
always have the same size depending I mean, regardless of the screen size. So it is possible,
however, more often you will actually use variable with content, which means
that except for providing the size, you will also want to provide the breakpoint, what
does it mean? Let me show you how to quickly so if you do call, MD, and now eight, plus
MD, four, you're gonna see that we have this nice eight and four distinction here.
However, when we start shrinking your screen, below medium, what's gonna happen is that our
calls will take the full width of full width available within the container. And now as you
can also see, our container MD is changing to the 100%. If I stick it like this, to to keep
the margins here available, however, and those margins are gone below the certain level, because
basically, Trump assumes that if you are a mobile user, you don't really want to have this margin.
And if you want, then you should just do an ad manually. So I hope you do understand
now how does it work? Obviously, you can first of all, you can change this and
to something else, and so that's large. So this is one thing. So now we're going to
get full we've already on the medium size, and we're going to get this ratio on the bigger
size. However, the most important thing is that you can also mix and match the slides. Call
and the amount, let's say six, and here, six. Which means that we have now three use cases.
So a larger and larger than larger, medium, and smaller than medium. Right, I hope you're
getting this now. So we can, that's how you can create a very, very, very complex examples.
And the one, let me show you quickly, one from the, from the demo, which I was showing you.
So this is the example with those columns. Having very actually all the possible scenario, right, so
we have the size for each and every screen size, which allows us Whoops, not this one, this one,
which allows us to really, really create complex scenario where you will be just, you know,
changing the size of all of them. Okay, let's, let's continue, let's see what else we
have. I mean, there are different options for mixing this combs together. Let's see, and
let's go through the most common ones. So what you probably gonna need quite often is an
alignment. So let's have a look at this example. Okay, and now we need to do water. And let's
get rid of this two rows now for a second. And now let's make it a little bit bigger. So I'm just gonna do this manually. So now you
can see that our row has some height because of some content, which might be in there. And if
we want to align them to the top, we basically say row align items start. And then if you want
to do it in center, which is to the center, if you want to be aligned to the to the bottom, we just
say, Stop align items. And so this is this is the, this is the alignment, vertical alignment.
And obviously, we also might want to have the horizontal alignment. So coming back to this,
let's have this container row, and then let's have call of size two. And actually, we want to have
two of them, one and a two. And now, if we want to justify them into the center,
we will do something like this. And this will justify them to the center, right.
So regardless of size, they will be always aligned to the center. And there are different options,
which you can obviously use here. So you have around between and depending on the use case
you would like to use. Okay, and let's move to gutters now. So the gutters are responsible
for the for the distance between the columns here. So let's, let's use this following example.
Hold on and just add this one, what is the base Okay. So here we have gutters, and actually let me reset this. So now these are gutters
and I'm going to add some custom style here. So you could see one more of think,
because it's not easily visible. So within each column, I have created also
the extra div with the background so you could see how actually the content
goes within within the div itself. Okay, so before we start talking about the
gutter, I need to explain one thing, which is used a lot within the Bootstrap. Basically, when
you've seen me using this margin, right, and I said m y, what does it mean this mean that they
want to have margin applied in the y axis. So it's for the top and for the bottom if I would say m
x, I was talking about the left and Right. And the same applies for the gutter, right. And by the
way, we don't use gutter on container, we do it on row. So let's start with setting this to zero.
Okay, so this our default spacing and spacing and padding and margins for the, for the columns
and the grid bootstrap grid. And now if we say G zero, we're gonna set them to, we're going to
basically reset them to zero now if I, let's see how it's going to happen, if I'm gonna be changing
this in the x axis was going to change. So this is one, this is two, this is three, this is four,
and this is five. So basically, we are eliminating this budding cure from the left and the right,
let's say one, and five, right. So this, how you how you change this in the x axis, and
let's do g y, and then a set from 1345. So this, you need to understand what you need
to understand is that she acts are the gutter in the exposition works actually, here on this
on the space between a column and row, and in the y position, it's actually working in between
the columns here, right, so they're wrapped up, and it's talking about the space over here,
which you can see on this example. Obviously, you could try to do it with the margin and padding
duty, which gonna cover in a second. However, this is just an easier way which was introduced
in in the newest bootstrap to work on the more complex scenario, when you have multiple columns
and want to, you want to work and maintain the spacing in between them. Okay, so let's move
to the first component. So I'm going to cover the components from the most common one. So let's
start with buttons. Because we use them a lot, you can also see them being used here on the bootstrap
docs page. So let me quickly open the workspace, I'll create a new folder for components. So you
can easily reuse my code if you want, if you want, you can download it from the GitHub. And so let
me create a new file for a button. So I'm going to call it HTML. And I'm just going to copy
paste the basic setup. Okay, and open this in the live server. And now, let's, let's grab one
of the buttons actually, you know, the more you work with the Bootstrap, obviously, the more you
get familiar with it, you will know this syntax by heart. So if you start typing button, and then
add some classes like btn, and then the color, we're going to talk about the colors very soon.
But now for your information. Bootstrap comes with predefined goals, and it calls them like primary
secondary success, danger, and so on. And you can adjust this course we're going to cover that a
little bit later. For now let's just use primary. And let's use some do something like click me. And
let's see how it looks like. So you can see that you have this button start right. So obviously,
if you would go with the just simple button, it looks like this. And simply by adding these
classes BTN. And then color, you are getting this status over here. And you can see more of it over
here. So let's just add few more, so we can see them. Right. So these are different predefined
buttons. Now, bootstrap allows you to easily a adjust both color as well as size and
few other properties. So for example, here we can see that from guns, we have
the so called outline buttons, right which, which which have ratio, just let's just do
it like here. So I'm going to add the new. I'm going to add a new row here into
this container. Let me add another one. So we could see them next to each other or one
below the other. So this is the primary and his primary outline, secondary and so on and so on.
Here you see the light or actually you can see it so it's used in certain circumstances. But
other than then just the outline. We can also easily adjust the size of our button. So if we
want to do that Under container. By the way, I'm going to add some classes here and my five,
we're going to learn about it as well, soon, but this will give us some space and cure.
So if you want to do something larger like, like the larger or smaller button, we can simply
use this btn large, so that we just use this one here. And the same for small. So if we do btn SM,
we're going to get the small and let's add, just compare all together, let me just remove
it. So just call it irregular button. So you will see the difference, right. So this
is large, this is regular, and this is the small button so you can do it. You can also disable any
button simply by adding the disabled property. And as you can see, that's also going to be started,
right. So it's going to looks like now this, there are a couple more so you can you have the
Blog button. So if you want to have the full wave, you can use this blog buttons. And actually,
you know, the button is commonly very commonly used within bootstrap because, for example, you
can use it to toggle state. So as you can see, here, we have the active. So if I click on it,
it becomes active, so you can see the color is changing. And then if I click again, it is getting
deactivated. And lots more because you also gonna see, for example, buttons being used as a drop
downs, for example, like here. So it's really, it's really wise to get familiar with with
it. And then they'll their methods related to the button system is a bit more advanced.
So we're gonna leave it for for the lighter. But one important thing regarding your buttons
is also that you can like everything actually in Bootstrap, you can easily adjust it using
or adjusting the variables, which comes with the sass with the bootstrap Sass files.
So if you want to change the generic look of the of buttons, or you want to create new
ones, you can also do it with the use of a CSS. Next, very commonly used components are cars,
so you're gonna see them almost everywhere. So let's see how they look in the real world. So
here is the basic example. By the way, if you if you check the docs, you can see that this is like
it's a really huge, tremendous amount of examples, which you can use with Bootstrap. So we're gonna
cover the most important one. So let's start with the the examples. The basic example shows us the
one of the very often seen cars, so the cart with the image title, and some kind of photo isn't
exactly the footer. But yeah, let's, let's call it this way, I'm not sure what the result are in a
second. So let's copy this one. Because it's gonna show us the issue with what you're going to face.
If you start using this for the very first time. Let's add some image here. So I'm going to use
image Pixon. for that. So this is very interesting service, which allows you easily to use some
images. So you could have the real image, and you can easily change the size. So here
we have 200 by 300. So let's see how it looks in our case. So this is the card, actually, we
didn't want like this, we wanted to have, say 300 by 200. So something more like this one, and add
some spacing here. As you can see, every time we refresh, we're getting some random page. So it's
it's pretty cool to see this used, it's kind of testing, right, because you can already see we
have a different option. Now talking about it, let's jump into the sizing. So because here our
cart has a certain sign as you can see that this is because we added some stuff over here. If we
remove it, you're going to notice that if you want to start that was what we're going to do in
a second if you start typing this just by hand, right so if you just create these in this class
card, which is actually making a card looks like a card, giving some borders to it. You're going to
notice that this gonna happen so it's gonna take the full away if available. So how we can how we
can work have done let's go to sizing so there are a few options. So first is obviously already known
to you So if you use a row, and then you're gonna add, let's say a call to it, and you're gonna
wrap up your card into it. So you will be able to decide upon the size of by using simply great. So
depending on the column size, you're going to get smaller or bigger carts, then the next option
here will be to use these utilities. So let me get rid of this one, or let's go with the another
row here. And let's get this card again from here. So let me copy this card entirely and paste it
here. And now it will take the hallway hallway available. And now we can use the utility
which we're gonna cover. But you can already learn this one, which is w 75, which stands for
with a 75%. And you can see this example here, I'm not sure you can clearly see this, this
is this stands for 75%, which is over here. This one stands for 50%, which stands over here.
So let's give it a try. Let's say 50%, we want to have our cart fulfill the 50% of the space here.
So this is the second option. And the third one you actually seen because we've been using this
around before, so let's just add it for the sake of consistency. So you'd have all your cards in
all possible scenarios. So let's add just stars. And now we have three under. Okay, now
let's get back to the to the basics. So let's go with the new row over here. And let's do
a call tree for the sizing. Let's see how the very basic basic card looks like. So let's do just
the card. And let's do some Lorem. Five, let's give it here. Okay, and let's add some actually,
you know what that mean? Give it to the top, right, and five, and let's get this one to
the top. So we could easily see this one here. Okay, so it's healed up. So this how the, how the how the cart looks like. So it doesn't
look good yet. But what are we gonna get, if we're gonna add cart body, that's going to
look much better than that we've got before. And this is already looking, giving us some nice
look, it has some padding, it has some margin. So this is something which sometimes some people
call panels, right, so we could have those panels over here. Now what we can do, we can add
certain elements. And it's very cool because you can compose your cards from the sub
elements as you wish, right. So if you want to, if you want to add, for example, the image to
our cart, you can easily do that by adding this still within our cart. But above body can add
image with the class cart, image top and reuse image here. And this will automatically link this
image to our cart. I'm going to skip the list groups for a second. As you can see this, these
are kind of few panels connected to each other. And let's move to the header and the footer
section because this is interesting. So let's get the the another cart over here. And
instead of the image, let's use a cart header. So this is what we're going to add here.
So let's get rid of this image here. And let's add cart header instead. So
this is our current header. And it's going to add as nicely looking color.
Now since we have a header, obviously, we can add some footer as well. So let's use the example
of this one. Let me just copy paste this one. So let's add it here. Here we have a text muted.
Let's see how it goes. Without that first. So here we have footer. And if we add this text, muted it
just slightly mute this to make it less visible, as this is the footer, obviously, and this is,
we don't want to see this, like not screaming, to our use, right. So this is how you work
with that. And I think you can have really nice results. Using that, let's have a look at
predefined examples, because they're gonna give you also some idea of what you can achieve
with that. Here are examples with cards within the navigation, we're going to cover that in
the navigation part. So here you have also the image examples and how to work with them. But
let's slightly move further to this example. So here we have this horizontal card, which looks
really, really nice. So let me add another call over here. So let's call three asbestos
example. And let's just grab the image again. However, you don't have image here, we have
an image here. So what we're going to do here, we're going to replace this image, or
actually, this three dots with image now change the ratio. So I'll have 200 by 300. Now, let's see
how it looks. I think it's too small. So that's because probably here we would like to have it slightly bigger. Yeah,
now it looks better, right. So now we have three plus three plus six, it's something to 12 is
good. And here we have this horizontal card. So I think it really looks nice.
But other than that, we also have something which is called card groups.
So very often you will see and we're also going to build it at the very end of the
scenario, we're going to build a simple page. So you probably will see something like this when
you have a page and then you have your blog. And let's say you want to least like last three
articles on the page, you would see something like this. So what you could do, you could
create like three columns with the size of four, so four plus four plus four, or it could use card
groups, which would also looks nice. So again, it's pretty much the same as the normal card,
right you have a card here, the only thing you have to remember is to add this class card group
added up. So let's have a look at this one now. So we have a row here. And let's add a row,
the row with some margins in between. And now, let's replace this one with the image. So
I want to have this, this, this and that. And I want to have this image here. And this
how it looks like I think it really looks it looks really, really nice. So this is this,
this card groups how the looks like. And as you can see, there are many, many more here is the
example of of the cards next to each other. So obviously, we're not going to cover all of that,
because there's, there's, there's there's a lot examples, but let's get back to a few more
examples, because they're also interesting, you will probably see them in for example,
like admin dashboards. So you can have this, this card having different stats, so you
can reuse the same colors, which you've seen when it comes to buttons. So simply by adding
this classes like background primary, to our cart, right, so here we specified, this is just a simple
card. Let's have a look at this example. Um, so let me add my hand see what we have space here.
Let's want to feel it added here before below the card group. So let's have
another row and have call three. And let's have this card here and
let's get rid of this for a second. So this is like normal basic cart now, right?
But if we start playing with the colors, so I'm going to revert this text white and the background
primary. What are we going to see is that it will change color to something like dad. So let's
duplicate this one. So we have called 312 Troops, I know, we all should have four guards 1234. And
let's change the colors of it. So I like this, this dark one. So let's go here and choose
background dark and text wide for the second one. So underneath, this is the
first. So this is the second one. By the way, this m V stands for margin bottom,
so it's adding some margin margin on the bottom here. Don't worry, we're gonna cover margins.
In few seconds, you can see no black one. And yeah, let's just do two more. So let's
say info with the text dark for the next one. And for the last one, that's everyone to have text
wide and dangerous. So this is the last card here. And while these are our
cards, and again, another row, for last examples, let me just copy them to
make it faster. So let's just do 123 and four. So this row, it's pasted. And
these are examples of the outline cards. By the way, it doesn't work here that
Miss, you know, it actually does it just looks this way, right? Heather? No setting
does it work, you're probably because they have to be placed within a call not row. So
here, we're gonna have them. Yeah, so this are, these are border with cars or cars with border,
and different examples of this. So as you can see, there are plenty of variation over here, which you
can use, obviously, you can also easily align them and play with it. And like everything. In
Bootstrap, you can also work with SASS variables to change, for example, the distances
between cards or, or background color or anything like that. So yeah, I mean, I really
liked this component. And I've been using this a lot in my project. So I strongly encourage
you also to have a look because it's very, very useful component. Okay, now we'll jump to a
different category, which is content and exactly typography in the Bootstrap. So let me
quickly create a new folder to organize it slightly. So we'll move to content. And I'm
just gonna grab the index. So our template from components, and let's open this in Visual
Studio code. Okay. So bootstrap comes with predefined styles for the for the different
types of typography. So starting with headings, just copy paste this one, we also need to create
a new file here typography. So this is one of the so called ut utilities and Bootstrap have more
of them. Now I can paste it, you're going to this one, and then on ready to pull it within
our container. So let's have a roll here. And let's save it open. And let's see what's
interesting about the about the heading. And actually the whole typography is that
unlike almost everything in Bootstrap, it is responsive, right? So let's check this
element. And let's see the computer size. computed styles. So let's have a look at the font
size, which is going to be 31 point 95 pixels. However, if I'm going to start adjusting the
screen size, you can see that this value is actually changing. So now it's 40 pixels. And then
if we shrink it, it's going to become smaller to what is it now 24 pixels. So This is this is also
very, very useful why working with with Bootstrap, because obviously, it looks just better it adjust
to the screen size. Now, what bootstrap offers you as well is the class which will make the actually
any element to look like the hand. So there are situations, there are situations where we don't
really want to have use h1, h2 for, let's say different reasons like SEO. So let's say these are
paragraphs looking like headings. And if we just apply this classes like h1, h2, h3, we're gonna
get exactly the same look right, so we have it here, actually, we can do it even better. So let's
do it like this. So we could see the difference. So these are headings, let's call them real
headings. And let's call MD six two times, let's move this one inside first
comb and this one into the other one. So, now, we should see them side by side let me close this one and slightly make it
bigger. So, now you can see that they look exactly the same. So, if you want for
some reason to your whatever paragraph looked like heading you can do it with
use of this will serve also comes with this display headings. So there are slightly
bigger so, if you really want to something to stand out to be more visible, you can do it
with what is this place. So, let me just show you that. So, you use classes like display one
display do and this will give you that result what else obviously, it comes with a lot of inline
text elements in line tags. So we can highlight we can actually cross out text you can ask why why
they are like duplicated right. So we have to for for this one right. So, here you have this this
text is meant to be treated as deleted, and this line of text is meant to be treated as a lot
longer accurate. So, the difference is actually semantics, right. So, for example, in case of this
s here, it represents elements that are no longer relevant or no longer accurate, while this one
was deleted. So, this is like a very, very subtle difference. But this is what is it all about. So
that might be new to you. But there are different since 1805, that is nothing really does matter. So
you should carefully use it. But other than that, as you can see you have support for
like, you know, making the bold or you know, highlighted text with the use
of outsell let me just add it to our to our example. So again, we could let's
have a new row here. And let's have just put it like this. Right, so we're going to
have all the examples in one place. As always, there are more many more examples, like
abbreviation like blockquotes. So maybe maybe let's have a look closer look at the blog
close as they might be useful for you. So oh grow. So whatever we want to use blockquote. On let's
do some paragraph and Lorem here. So that's how the normal looks like so it doesn't really
look different. However, if we add this class to it. Now, it looks differently. So this is the
this is the example over here. So this is the basic blockquote however, you can also use the
more extended version with a footer right like here, so we can add this specific caption with
the class blockquote footer which will make it looks differently. So let's do this. Side by Side
call. And the six, actually, I want to have two, or maybe, let's say even, or I'm gonna change
the size, I'm gonna have three of them. So the second one is with the footer. And this one
will be the basic one. And then the one, which shows you how you can actually align text with the
use of the text alignment. So we're going to check that here, you can already see that by using text
center or as the plastic center on our element, we can, we can change the alignment of the
text. So let's use the last example here. Right. So let's just do it this way, just to show you how
to do it by yourself. So I'm just going to add to this feature class, text. And, and the reason
the reason it's, its end now is because and not right and left is because since was five, there
isn't support for art, TL. So from, you know, in many countries, we do read from from left to
right. So in your case, it will be from left to right and live if you're watching me on the
camera, but obviously, this is not the case for all the countries. So in the in the Arabic
countries, it's the other way around. So while they added the support for the RTL, they also had
to change the naming because obviously the left doesn't necessarily always means that so if
you use RTL than then it could be confusing. Now with a start and end, and you're going to see
more on that, when we go to the spacing utilities. Now let's just have a look how it looks
like. So here are our block quotes, you can see them here and this one is aligned
to the right side. Finally, bootstrap offers you an option for the for the list. So if
for some reason you don't want your list to have any kind of you know, dots or points,
so you can use this list unstyled here, so let's do it quickly. So we are going to
have you l aware of class. Least unstyled. Okay, and inside that I want to have ay
ay, ay, with the content. Line Number. And we want to have like five of
them. Oh, no, we want to have like $5, obviously. So now we're going to
have this line over here. And then again, I'm going to quickly do the new order list.
And with some numbers here, a lot multiple by so three, oh, by the way, if you're wondering
what I'm doing, I'm just using an iPad, which allows me to create
easily the different amount of elements simply by using this shortcut. So if you
don't know that, I strongly encourage you to check the tutorial on the AMA, because it's gonna make
your life much more easier. Why did it like this, I wanted to show you that this class applies only
to the to the to the immediate choice of those of any element you use it on. So this sublines
they already have styled again. And then finally, if you want to use inline, so this is the case
usually when you do some kind of navigation, right? So you want to have like a nav bar right?
What they have over here, for example, this is the this could be used or created with the use of
of the list, inline list. So all the elements will be basically printed next to each other
and no, not one below the other. So again call and the six multiplied by two times. And I'm
going to get this one from the documentation. And I'm going to go grab that one from here. And
this will show us this next to each other. I'm going to add some spacing later on for you. So
when you when you refer to this file later on, you will clearly see so I'm going to add
something like this Heading One least styles and gutters or why? Right, so you'll
have this separated so you can easily refer to it and realize what we are actually talking
about. Maybe he can barely find a word here we'll get some space in between. Okay, let's
move on. So what is also important to mention here is that, as I mentioned you, in the beginning
of this section, the fonts are responsive. So this is cool. But bootstrap went even further
step farther. And they came with this responsive font sizing. So RF s project. So this is a
separate project. And this you can find it on GitHub. Actually, this is really cool. Because
that allows you to change not only the font size, and that's how they came up with the
name, right. So originally, they wanted to adjust the font size, depending on the screen
size. However, now they they went even further, because initially it was default, the look to
resize the font. But nowadays, RFS is capable for scaling, actually, you know, basically every value
of any CSS property with unions like no margin, pilings, border, radius, and so on, and so on. So
let me just show you a quick demo over here. So if you if you if you watch carefully, you're going
to see that when the screen resizes over here, also the different div different things are
changing cure. So not only the font size, but also the padding and margins. And
this, this, this make it you know, to look much better. For example, on the on
the very big screens, like you know, 4k Now, we are going to go into this one because it's
a separate project. But I think it's worth to just just just be aware of the fact because
you might need to do certain point of time, when it comes in, you have to work on the phones
or some padding to make them look good are on for example, very, very, very huge screen. So
that's where this RFS might be very useful. So let's move to the images now on
Bootstrap allows you to easily make images responsive. So let's have a look at the
following example. So I'm gonna create a div with a border. So you could
see how it looks like. So let's have let's have a div, we're going to give it some
custom styles. So for the sake of this tutorial, so with let's say 40%. And also I want to have a
border, five pixel red solid, so we could see it. Okay, now obviously, we need some content into
it, so we could see it. So let's add image. And let's add some logo here. Now we can
clearly see that this is our, this is our div. So if we check this inspector, now, it's become
even smaller now because inspector pop ups here. So now the 40% is even smaller. So yeah, this
is this is the, this is the diff, right? This, this part, the bluish one. And this, this, this
orange is not. Okay, so as you can see, sometimes the image the content, just simply go out of
our borders. And what you can do, how you can quickly fix it is by simply adding a class to our
image called Image fluid. And this will make our image responsive so yeah, I mean, that's, that's,
that's really basic, but also very, very, very important. Feature feature. Then if we go to, if
we go farther, let me do h1 and y five and let's go to the top now and let's let's have this image.
However, I'm gonna change this to image thumbnail. So that will give our image something which
is let me enlarge it here. So it's gonna give this style this border, rounded
border around it. Let's also do let's make it a little bit more. So what are the
use of with 25? Let's just make it slow. Now, finally, the last option you can see here is
how to align how to actually align images with use of Bootstrap. So let's do that. Now. Let me
close this one. And then let's have alignment. So basically, we're we'll be using the
float utility, which we're going to discuss in a second. So yeah, let's just do, let's just
copy this image again. So this was the one. And let's change this one to the float, let's say
out. So this will move on, let's make it smaller. So this will move our image to the end.
And now obviously, if we are working with the floating, we need to remember to use the
clear fix. So clear fix. So because otherwise, maybe they can show you that. Let's
have some paragraph him here. Otherwise, other elements will be floating around. So
maybe I will even use Lorem 50. So you could see what I'm talking about, oh, it's not
enough. Okay, fine, let's use 100. So this is floating our image. So now,
if we add the video fix over here, basically, that's gonna fix that state. Now,
okay, let me get rid of this paragraph. We don't need it anymore. Because I want
to show you also how you can actually center the image with use of bootstrap
classes. So let's get this image again. And we can simply do that by adding by using the
Flexbox. So diblock, X, outer, and through 25. And this will center our image like this one. One
more thing, actually, I didn't mention is that we can easily for example, make our image or give
our image rounded corners, like here, simply by by adding this rounded class to it. And last
but not least, if you're working with picture, it's also supported by Bootstrap. So here, you
have the syntax for working with the pictures and making them also responsive, like
we did with the previous examples. Okay, so now let's move to the utility. So
because this is also one of the most important part of the bootstrapping, Ash, especially
taking into account that recently, downwind, become more and more famous. And this is
so called utility first framework. So I would like to also show you that a lot of this
utilities options are available within Bootstrap, as well. So we're going to go through the
utilities. But I want to start, as always, from the most, I believe, the most common and most
important one, which is spacing, however, we're going to go through all of them. So what I did, I
prepared this sample div with some content here, which is actually styled using styles.
And I'm going to recreate this for you just using the bootstrap classes. So we will
achieve exactly the same effect with with the use of the bootstrap utilities. So let me do now
let me do it. Like this. I'm gonna grab this div, and I'm gonna add it below. And let me get rid
of all stuffs over here. So we don't need this, this that and nor this, okay, so we have
just simple DS here. And let me also add some margin here, actually, we can already start
with discussing the spacing. So you've already seen me using some of them in the previous parts.
So let's quickly go through the to do. So it's fairly simple, because you stay in order to use
this utility, you simply add the proper class like Mt five, for example, which will stands for margin
top five, and this will give us some a little bit space over here. Now as you can see, already,
M stands for margin P stands for punting. And there are different way you can combine it. So
like we did, so usually you start with property, and then side, so you do like margin, and then
side which is stopped, and then the value, so the size is from zero to five, it's also accept
outer, which we're gonna use in a second. Basically, bootstrap defined a spacer, so
like a basic value, and different different numbers in different values here from zero to
five, are actually multiplying this by default variables, like here is 25% of the basic spacer.
So this one will, will make it to 25%. And then it will the two will multiply all by half. So
it's actually it's gonna, it's gonna use half of the value three is the default spacer, and then
a foreign fiber selector, again, a bigger amounts, like one half times more, and a three times more
than the basic value. So well, yeah, let's, let's see, let's see, how does it work in practice.
And also, by the way, this is something which I also mentioned to you already. So bootstrap in
the version five, change the naming convention, so before we had top, bottom, left, right, so but
now it starts at the end because of because of RTL, right, so right to left or left to right. And
depending on which one you use, before we go to the spacings. Let's, let's, let's add some border
here, because that will just make it a little bit easier to see what we want to achieve. So what
I'm going to do, I'm going to add the border to this, which will give us this border,
it's very light, actually, I lost the top margin. Okay, that's cool. And now, to make
it a little bit thicker, I'm going to add border, one to define the size. And also I'm going to
do border dark. Okay, so this is going to make it slightly bigger. So this is what you can see
here. Now you can again, obviously define whether you want to have the entire border or on just
the one of the borders or one of the corners. So you can obviously define color of the border like
we've been doing before. So with the colors, you probably already noticed that we've been using
this primary secondary success danger and so on, let's have a look how the colors utilities
looks on work like so we have this basic colors defined, and we can use them for both coloring our
content like text, or also to do the backgrounds. So this is here background, which uses
exactly the same, you know, colors, it just uses different classes. So background,
primary background, secondary, and so on, and so on. There are different color variations over
here, right, you can even specify the gradients, you can you can specify the opacity.
So this is all possible with Bootstrap. Now talking about the colors as everything is
almost everything within a bookshop, it's it's customizable. So there are there are variables
which you can adjust if you want to change the skin color. But you know, I hope you get to the
point that if you're using ever like you know the primary secondary and so on and so on. So
once we define decide to change the color scheme to change the layout of your page in
the future, you just changed a single value and it's going to update everywhere in the in
the page Okay, so we've got this one what we are missing to have the same kind of result over
here we need to also shrink it a little bit. So let's do with a wave the size. So if we
go to the sizing god you're gonna see something which I already used before. So
I want to enter W shifty, we're gonna set this width to the 50% right, and we
need to center it, we need to center it. So for for the centering and this. We also did it
in the previous but let's just go to the position. So our position something different
positions is where you can define your, your position value like static relative
absolute, what we're looking for is within the spacing. So where we just started, just don't
below, it's horizontal centering. So we're going to use an X outer which going to set our
margins to, to auto from on both sides or so m x, I think I didn't mentioned it. So I think is a
good time to say about it, because maybe you've seen it already. However, except for the specific
directions like a top bottom, a start and the end, you also have the excesses, right, so the X will
work on the x axis, and the Y will work on the Y axis. So the horizontal and the vertical one,
okay, so now once we have work on the on the alignment, and the border, let's see how the this
partings look, in work. So let's do, let's do something like this, let's say we're gonna
have padding left, actually start five, this is gonna add as this padding from the
left side, which you can see over here, obviously, we could do it from the right
side. So then we need to switch to end binding and we can do the top, we can have
different values. So we could have B, D, five and P start on three, let's say. So we will
see the divisor and difference. Then again, we can do p x five, which is going to give us paddings.
For both from both directions left in the right, or we can just say if we don't specify the
direction itself, it's going to apply this to all the directions on top right, bottom and the
left as well. Now the same applies to the margin. So let's work on that using this paragraph. So
I'm going to add to class here. So then again, you can see that if I do margin, top five, this
I've been using this a bit, it's going to add me the margin here, if I want to do margin y.
So in both directions, it should change this, just base over here, let's let's see how it works
without. So this class is incorrect now, so we don't have any margins here. If I go to five,
it will add both from the top and the bottom. So yeah, I will leave it to five. So it's going
to add margin from each and our interaction. And finally, this div what we what we have
here, we have a width 50. So you already know that right? So class, it's Don't be 54 or 50%, we
need to we need to align it. So let's do m x out L. We said in the center. What else we have here,
we have a text alignment, we didn't talk about it. But we I think I've used it already in the
previous example, but let's just see how it works. So for this, we just need
to do text center. And this will do the same here. So this this text alignment was
there before in the way we were talking about the typography. So this is this is something you've
already seen. Now what else we have here we have background. So if I go with background light,
and believe I'm going to get a little bit a bit great over here, it's slightly Gray,
I'm not sure if you can see it. So there's the background dark then which should give us pretty
much the same dark gray color and finally, text wide for the white color. So, this is kind of
what you can find here in the clips right. So, you can either use this primary secondary,
but there are also colors which are predefined, like you have the blue,
indigo, purple and so on and so on. You can also use the grayscale, right. So,
you have a gray 100 degree 300 and so on. So, you can achieve this as well with simple use
of classes, what else we have here. So we talked about backgrounds, we talked about the
borders, we talk about the colors, this play, obviously you can you can define whether you want
to how you want to display a given element. So you don't need to change the display property you
can just add simply add the for example, D none. So this will this will make our paragraph totally
disappear. Let me revert the change. And now the paragraph is back. What is also interest thing
is that you can also use the breakpoints, right, we already learned about the breakpoints, we're
talking about the grid. So we can actually applies an apply this on the certain breakpoints
on the certain screen size. So for example, if you want to see, let's say, we want to
be something visible only on the, let's say, medium size, let's do let's add this here.
So now our our div is visible. However, obviously, this is doing a remove dots.
So now it got disappeared. And when we increase the size of the screen, we should
see that it will pop up once we reach our Oh, nowadays, so because we had dienen. So basically,
we don't display this on starting from smallest screen, then we have the empty blocks. So if
you're on the medium size breakpoint between medium and large, now we can see it and then if we
go to large, again, it's going to be disappearing, right so if you want to do this on the specific
screen size, that we that's how you can do it. So you can specify a very complex rules. Or if we
just get rid of this, the LG neon, then it will be just simply invisible on the small screen
until we got the medium size. And then after we start making bigger, bigger, it will be
visible, right. So this is a very, very useful to, for example, you know, hide something on
the mobile or show something on on mobile. So let's get familiar with this one, because
it's gonna be very useful. Now flex, obviously, Flex is very important in web development.
So again, instead of using the flex styles, or procedures, properties, you can simply add the
classes, which gonna be using and utilizing the flex. So we're gonna do another example. On that,
let's grab something from here. So, yeah, I mean, as you already know, I mean, if you're
not familiar with Flex, then obviously, please do check the tutorial on Flex fast, because
otherwise, it's gonna be a little bit confusing. But other than that, if you are actually
familiar with Flex already, then you can use just you can you can easily see in a
recommendation, how to apply this flex properties with just simple use of the classes, right, so
the classes utilities, which will do this for us, and we don't need to type the CSS, our sub so
basically Long story short, just to enable flex, you should do the D flex we're gonna make, we're
gonna apply flex to this to this container. And then we can we can start
working on a different example here. So let's just grab one of
those from here. And let's let's check this out. Let's add a
border so we could see it bothered Argh. Margin to foster Sonic, you already know.
And now let's just check how it looks in. In console. So you'll clearly
see that this the flex class is setting this display to flex. And then the flex
row is setting this top row. And then obviously we can we can we can we can we can just play with
it, we can have like flags, row reverse, right? So this will reverse the the order right? So now
it's 123 here though it's like 123 here in the code. We're going to go to columns, right?
So if you want to set change to columns, instead the rows you can also do it just simply
changing this class. So we have columns now and so on and so on that which gives you a lot of,
you know, option just justified content is really thinking about justification. Bootstrap also helps
you to vertically align so everyone who was trying to vertically align or sent or something,
you know that in the past, it used to be a real pain for the developers
to deal with with the CSS, now, you can simply just use the align middle, and
that will just set it to a middle. So also very, very useful. Utility float we've been using
already with images, right? So simply said, float start for then keep in mind not using
left, right, this start and the end. What else the interaction right, when you click on it,
it's going to select the entire text rank, this doesn't have to be zero. And this can be
selected. So a lot of you do this, which just makes your life easier, you can change the opacity
of the symbol class and the value over here. Change the overflow. So then again, if you want
to have a scroll or not, if you want your content to overflow, simply say overflow visible
just underclass and your content will become automatically visible hidden, if you want to cut
it out, like we could do with our image example, right? If it was too big, we could just set it
to overflow hidden and then our image want to go out of the out of the deep out of the parent div.
Obviously, if we didn't use image fluid, for make it responsive, then it will be obviously even
visible fully right. So the part of the image will be just got position we talked already, right.
So you can arrange, you can set it to static relative. And then if you go decide to to go with
the absolute or relative, you can also specify like position absolute top 50 Start 50. And this
will set it at the corresponding shadows are we haven't used it, I believe. So let's just
quickly have a look. So as the shadow large, so we could see the result easily. And let's
add it to our div here. So this is going to give nice shadow around the element over here.
And then finally, we talked about sizing like we said with a width and height, and spacing
margin bindings, text. So this is this is about for example, rubbing and overflow for the
text right here. Vertical line and visibility which you can, which can be also adjusted
with the use of visible or invisible class. Okay, so now let's get back to content
and specifically to the table. So I've got you two tables here. And we're gonna
make one of one of the stable responsive table responsive. And also, we're gonna show you
what else we can do with the bootstrap classes, how we can easily change and adjust it. So first,
let's, let's make it let's make this responsive. So what I'm going to do, I'm going to add this
table responsive. MD some specifying not only do I want this table to be responsible, I'm specifying
the break point from which onwards, I want this be responsive. So as you can see, the upper table
is just getting shrinking, shrinking, shrinking, and the bottom one got the scroll, which
allows us to easily browse it for example, on the mobile right. So this how you can this is
how you can you can do it and there is much more which you can actually do with the with the tables
using using Bootstrap. So let's have a look. And just a few examples because again, obviously as
you can see, there are a lot options here like you know, we can play with table Footer Header
styling them easily. So I just want to show you a few examples, which are used most often
here we got the table responses. So yeah, so it can be always responsive. Or it can be on the
specific breakpoint. So what else we can do with with the with the table. We can easily and this
is something which bootstrap was working on very hard when it migrated from Bootstrap
for 205 I mean, dirty so if we do table dog is gonna change our table to the dark
mode, which is very handy because you know, we're just single switch, you know that a lot of
pages do have now right? This this night mode, which programmers do love so much, at least I do.
What else if you want make it bordered simply just type table bordered, bordered, and this will add
as the borders. And as you seen, this actually can also specify which borders you want, which
ones you don't want to let's add table hover, and let's see what's going to happen. So now we
can, when we hover over the given row, it's gonna highlight. So it's also very, very useful when it
comes to the big tables with large amount of data. You can also to make it easier for your
users to to read the data you can add, they will strip which will basically make every
odd cell having a different color. And you can also change colors, right? Like everything with
Bootstrap. Again, the table, primary, for example, is going to change the color or info. And you have
a nice overview of all this variance here. Right, so you have all the colors and options here. Yeah,
so these are the most important utilities, which you can use with your tables. As you can see,
it's very, very easy. And you can very quickly change and adjust your existing table because
what you have to do this is just very plain table HTML table, or do you have to do is just to
add a proper class to it. And it's going to look mid text to bootstrap. Okay, so now I would
like to talk about the two other components, which are very useful to make your site more
dynamic. So if you're creating some platform, or you know, some dashboard admins, very often you
want to throw some kind of notification. So the two interesting components, which bootstrap offers
you to use, the first one is called alerts. So um, this is how it looks like. You might be you
know, you familiar with those kinds of arts, whenever you are working with some platforms, you
click on something. And then usually, in the top, you can see this kind of alert, this is very easy,
like most of the components within a bootstrap. But what is most important for, except for the
fact that this is a simply simple to use, simple to create, that you can add icons to it, if you
change color, is there, dismissible. So you know, whenever you show it, you can also get rid of it
by just clicking this X icon. So that tells it how to how to build it. And yeah, as you can see, this
is this is very simple, because you just need to use a proper classes. So the first use alert, and
then a color. So this is the primary one. So we just use an alert and alert primary. And if you're
going to make a dynamic should also keep in mind to to use the roll. And now Bootstrap, utilize
the SVG icons. So if you want, you can easily add your icons to the alerts. So simply
add SVG. And I'm going to show you more icons soon. And finally, if you use a
bootstrap plugin, and the Alert Plugin all or the compile the bootstrap JavaScript version,
which we are using here, then simply by adding this data attribute are actually adding this
button here, right. So this is this is button. And the one you can see over here, this
is just a button which looks like this. And by giving them this Class button
close and this data, be as dismiss attribute, it will work and it will automatically
do the job. So it would just remove. So just keep in mind that when you dismiss, it's
actually being completely removed from the page structure. Now let's move to the next
one, which is Toast and toast are a little bit smaller elements on the page, which
are also dismissible. And they can be also shown on request. So let's let's, let's check this
one. So I'm going to copy and this example here, I'm going to create another row for it.
Actually, we don't need row specifically because by default, it's not visible and we need
to use the we need to use the JavaScript to create a button which will basically,
which will basically make it live. So, as you can see, it's popping up here in the bottom
right corner. So actually, let's use this example, which we have here, because what is important
here is add a space of JavaScript, and we're gonna go through it. So let's have a button, and
the toast. So basically, the structure is pretty simple. If you use this code probably doesn't
make sense to, you know, type it all by yourself, simply copy the example and then adjust whatever
you need. So here you can have an image, right, this is the image to use. You've got the header,
Bootstrap, and then some some extra information button close with your you know, from alerts, and
then the body of your message, you can customize it, you can add images, you can get add content,
it's up to you. And then we need this piece of Java Script over here. So let's add script tag
here. And let's paste it see if this works. So here we've got our toast on the left side
this time. So as you can imagine, you can easily adjust either content or behavior. So whether
you want to whether you want to show this, this, this toast on the left on the right side, you
can, you can easily customize it, if you want a few of them, right, so you want to stack them
here, we have just single, single notification single toast over here, however, maybe you want
to show two or three or four or five or more, then they will they can also stack one below
each other. So you can you can you can just just do that. Don't forget to add some spicing to it.
Now maybe let's have a look at this piece of piece of JavaScript over here. Because what it does,
first, it creates a link to the into the button, right so to the button you can see over here. So
we assign it to those trigger. And then we are getting this toast live example, which is here.
Life toast right, so you, you get your toast by my ID, and then you whenever this is clicked,
you simply use the Show option. There should be the other example here. And the rest of us tried.
So if you have multiple tools you can also use you can initialize them this way. So simply
just search for all the elements with the class toast, and then you end up with the list of the
array of the Altos you have, and then you can, you know, you have five different dose, you can
basically trigger all of them or just provide you know, like number 123 or five. Very often you also
want to, you know, dynamically create them so that it's also possible, let's see what what else you
can do. So for the placement, you can, you can, you can place them using different CSS options.
So, to middle center, let's have a look. Let's check this classes over here.
So here you have this div class at container and then you have position absolute
top 50 stocks 50. So this will be the center. Bottom, so you can play with it and
see how to place them in, in the in the in the place you actually wanted to be placed of
your badge. So well yeah, I mean, that's, that's really, really cool. And let's go to metals which
are available. So you can obviously we can show we can we can hide. We can dispose if you didn't
want to get this get instance as well. Yeah, this allows us to screw up the, the our toast
and then we can dynamically change the content of it. So technically, you could also have just one
dose and keep on changing the content you want to display to to do so. Yeah, I mean, really put your
hands on it because it's a thing you're gonna use it a lot. Sooner or later. You will need this
kind of certification in your project if you're building something more advanced. So this is a
very, very handy tool. To show us a notification like the Facebook notification or messenger
or something, you are seeing this everywhere. Okay, now it's time to talk about the nav bar.
So the navigation bar, you can see on many pages, actually, probably all of them and they
have it now, what is so cool about this navbar is that it's responsive by design by
default. So as soon as you shrink your screen to the, you know, tablet to the mobile size, it's
gonna automatically collapse. And then you can use the circled hamburger, to basically show or
hide the content, which is there, which saves a lot space, especially when it comes to mobile
devices. So let's have a look on how does it work with Bootstrap. As always, bootstrap gives
us like a basic example, which we can work on, it's a little bit complex. So obviously, we're
not going to go through all of this classes, because that's not the point to you know, to learn
it, and know it by heart each and every line. And that's not the point is we have a ducks for.
And so simply, you can start by just grabbing the basic navbar and then do some adjustments
to it. So that's what I did. Here, I've got the, I've got the basic example what I changed
here, because I wanted this to be dark. So actually, you know what, let me let me do this
from scratch again. So let's get rid of this nav bar and just use the basic one. So this is the
basic and bar. And now we want to work on death. So personally, you could or might want to change
is whether you want to have the full width or not, you can simply adjust it and change it by
changing this container, either to fluid, or if you keep the simple container,
then it will get them to to the center. So as you can see, this is going like
here. And then if you get a container, it's more to the center, you can see
it clearly on the on the bigger screen. So this is fluid. And this is normal container.
So if you want to have this margins from the left and the right, then you should go with
the container one and this one I'm going to stick to now, let's say you want to have
I want to have a logo in here. Very simple. This is this is called this is part
which is called brand. And you can see this over here. And here is navbar brand, right. So this is
what we what we've got here, we want to change it, just scroll down and find what you like. So I
would like to have the image over here. So I'm going to add this image over there. So let's say
it's not bar and I want to have an image here. And let's grab some existing image because
obviously I don't have the bootstrap one here. So let's just replace it with some logo. And here
it is, let's change the color the size actually make it a little bit slightly bigger. Okay, I
think it looks better now maybe even slightly. Bigger, right? That could be nice. And now I like
the dark one. So I wanted to do the dark one. So simply scroll down until you find a proper section
here we have the color scheme. So probably this what we are looking for right and have different
color scheme. And then again, you can see you can notice this pattern here. So like with the all the
other components, you just have to use the proper class, the color class. So you could use like a
primary, if you want to have a primary color, I will go with the navbar dark and background dark.
So if I go with the background dark only, let's change the light to dark, you will notice that
I've got the navbar However, my links the text over here, it's not really readable, right? So
that's why we need also this nav bar dark. So we change this nav bar light nav bar dark, and that's
gonna change also the font color. Okay, now, secondly, now, if you don't want something in
your nav bar, simply just search for it in here. I didn't want to get this disabled here. And by
the way, if you are not familiar, and it might be a little bit confusing right at the beginning,
because there are many elements over here. I strongly encourage you to just open the Web
Developer Tools and then go to the elements and try to just search for element you're looking
for. For example, this one, right, so this is the element and you can find Simple, press Delete,
and see whether you have the result you want, right? If something if you if you do something
wrong, let's say you remove the wrong element accidentally, then nothing easier, just refresh
the page, and you're gonna get back all the original HTML. And the same applies to whatever
changes you want to do. So let's say, I want to have this one, I'm going to edit this. And I'm
going to cap based. And I got two drop downs now, right? So now you can play have a kind of
sandbox, which you're going to work on. So yeah, let's see, let me let me get rid of this disabled
one, because obviously, I want all my links to be active, working in my nav bar. So this
cool, obviously, I would add some more links here if I be doing the real page. But that's up
to the use case you want to you want to achieve, right, you're going to find many examples with the
cold. Here container. So that's what we talk about the placement. All right, so we have option for
the default one. So the default will basically if I'm going to scroll down, it's gonna disappear.
Let's see, actually, let me add, let me add something at the bottom here. Let's do and if.
And let's do some nasty thing that's gonna add. Right, so it disappears. And then
if we do a fixed up door knock bar, so we have enough glass mixed up, it will
just stick to the top. So regardless of your scrolling or not, it will be always there. Now,
because it's because when we do it like this, the position is absolute. So now this margin
doesn't work anymore, we had margin over here on this element, let me just get rid of
it. So you will see there was margin here, but it doesn't work for that. So we would also
keep in mind to, to always keep this margin from the top for each and every element because
otherwise, nobody will simply it will ignore the the margins, which are there, you can also do
the fixed bottom if you have it on the bottom and stick it up so that it will just stick to the
top when you start scrolling, if it's not there, right. So if for example, this was our nav bar,
and we started scrolling, it will just stick, go here and then stick at this at this height,
just to the top like the sticky one. Um, yeah, a lot of different options here. And Yang
also wanted to show you two more things. So one is this external content option.
So if you for some reason want to use this function with the outside the nav bar itself,
you can do it in Bootstrap give you this example. Very simple, right, so we have just nav
bar, a very simple one, as you can see, not many, not many classes, and Toggler
over here. And what's going on here is that by using this data, Bs target attribute, and using
the same name, as we have here, we are actually combining this, this this this button, this
hamburger, we are connecting this to this element, so it knows which one to collapse if you have
more of them. Don't forget to use the unique IDs over the new component introducing disrupt
five off Canvas. So the menu on the right the side menu which you can also use same way as
you do with the navbar. So simply use the base example and then just start playing with this
around and changing adjusting to your needs. So this mostly about the navbar probably sooner or
later you're gonna need that you're gonna use it for for the big with the building or even the
application, right, a lot of the application use it like I know Instagram and so on.
So take time to play with it. Because because you will be using this for sure. And
now let's move to knifes nuts and dumps. So another category of components which you can find
which I'm finding very useful and you can I hope you will also gonna like so the base
nav is you know used for the navigation. If you want to have this just the links right
if you can call it just the menu on certain page so it's not so strictly like a nav bar is
not always stick. It's something like you have Now let's see on some pages amazin.com, for
example. So as you can see this navigation and looking at background, the basic navigation, which
is below the nav bar over here, so the base nav. So this is exactly the same, what you've
got here, by the way, we've been talking about different components, look how the Amazon
page is built navbar. So we just discussed this nav over here, slider or carousel, so gold
cards, we've been covering a few minutes back, and yeah, and then footer and some links here.
So this is the basic setup, which you use and which bootstrap offers you and with
use of them, you can just recreate literally any page in the internet. So this is the
base navigation. It's again, very, very simple, right? You just have a basic structure. And then
we just use as many links as you want. However, what is even more interesting are so called taps.
So what the dumps are tabs allows you to change the content. So this are our tabs here, let me
show you. And then they look in an inspector. So this is the entire so this, this is these are
tabs, and this is the content tab content, right? It's very small here, obviously, it could be much,
much bigger, it could be even with the entire page, right? So it could take the entire page.
And we could change the content of the page, while changing to different tab. This is very
handy. You can see this a lot when you work with, for example, the admin panels, right? So imagine
this is the settings page. And you want to say I don't know, like here, right? So the some
settings, some general settings, profile, adjustments, and whatever, right. And the same
with the vertical one. So imagine this is some kind of you know, application, and you can
edit your profile. So he will be your personal information, here will be some work related info
and so on. So this is very useful. And you can see that this is very dynamic, right? So you don't
have to reload the page, you're gonna have all of that on the single page. And then again, if you
go to dues and scroll to the appropriate section, you will get this taps, right home
profile contact, very simple usage, right. So we have two sections here, we have
pills, which are here 123. And then we have this kind of placeholders. So we have three
of them as well. And now what do we have to do? So this is the content going here?
What do you need to do, you need to just make sure that you have the corresponding corresponding
IDs over here. So look, this is the Home tab, right. So this is this is called home.
So we have this aria labeled by home. And Id is pills home. And this and let me actually
show you this in a source code is going to be much better visible. So let's go to our tabs. So this
is the example. Alright, so this is pills home. And this pills home corresponds
with this button here. So it has to match this data BS target. So it this
target, and this has to be the same. So if you're just adding a new one, let's add something
new here. So Contacts Tab, let's add a new one. And let's call it to own either No, maybe
just other. So we'll just change this to other. Also this one. Right, and now we
need to have the new nav item here. So I'm gonna make a copy of this. And now what
we need to do here is we need to change this to other other so this ID has to go and correspond.
This is the other and this is obviously other and that's how we get the new tab in in our
Bactrim. Right. Very simple, very, very easy and exactly the same way if you want to work with
the vertical, which example you've got over here Okay, now I would like to talk a little bit
about something which is not specifically a bootstrap component, because it's separate. The
project, however, is created by the same team. And I'm thinking about the icon. So if you go to the
extent and icons, you're going to see this page, where you're going to see a list of alternative
options. So if you're familiar with font also, or this, aka the icons, or whatever, I can see
we've been using, there are some options here. So you know, feel free to use them. However,
Bootstrap, recently came up with their own set of icons, and I really liked it, I feel
like they're really really good looking icons. And what's most important, there are like 1500s
already. So it's a lot. And I'm pretty sure that most of the icons you might be looking for to use
within your project inside your project, you're gonna find it here. So how to use it, it's very
simple. You have all icons, we start here. So if you're looking for something, let's say Wi Fi, you
simply just search for it, and then you choose and click on it, and then you're going to get three
options. First, you're going to have examples, we're going to see that you're going to have a
preview how it looks like and how you can use it with the sample examples of like, you know how
it's going to look in the button or in the input. Now what you can do now, to use it, you can
either download this, like SVG, so simply hit and save, and that's going to save you the image.
And then you just loaded as you do with any kind of an image you use on the page. Other option,
which we're going to cover later is to use it as icon, but then you need to include the font, the
CSS for that, I wanted to show you this before we move to to the icon font. So this is simply the
HTML is SVG. So this is like a row code of this icon. So this path is basically different, you
know, the SVG consists of this lines paths. And this is just you know, these are the points. So
the browser now know how to draw this icon. So it's very simple to use, because you just
copy this, and then you simply paste it. And here it is our icons,
right? You can change the size to something bigger, let's say 50, using this
width and height properties, or you can also do it like you would do with any other HTML element.
So we can just create some class, let's say icon and create some custom style for it. So I'm
going to call it icon and define a width. Have 200 pixel. And that's gonna work as
well. Now, coming back to the installation, so the icon installation, simply hit the
Install button, that's going to scroll down to this section. As you can see, there are many
options, how you can install it, you can do NPM, you can download the entire entire library, or
you can use the CDN. So I'm going to use this one. So let's just paste it in our head doc. And
now coming back to icon, let's grab something, we can simply just copy this icon found this I tag
and pasted here down below, or next to our icon. It's small, obviously. So again, how to change the
size, you can do it with styles. So set the font because it's like font, so just send the font size
to whatever it is 50 pixels per second, or 200. You can also change font color, obviously, you
just work with it like you will be doing with the any other font. And as I said, I mean,
you know, I think you have pretty much every icon you could possibly need
in a project like so, you know, some hamburgers over here. Yeah, I mean, just
give a try. And I really like this. And I really like having those icons and everything
within the same ecosystem of Bootstrap. Okay, so now let's talk about so important
components that bootstrap finally decide to provide a separate section for it within
the docs. And because recently in the visual for, they didn't have it and we have like the
separate category for forms. So bootstrap as, like with the other components, it's making our
life easier by supplying us with the certain classes, which makes our inputs and other form
controls simply look better. And let's, let's see what we have here. And what we're going to do
is we're going to build some Some contact form. So, we're not going to go into each and every
control because that would take like, you know, probably a few hours just to just to cover all
of that. But we're going to build like the very common contact form. And then I'm going to show
a couple more examples of what you can do also, with the form. So yeah, let's jump into it. Let's
open this in live server. And now what we're gonna do, we're gonna start with some text, let's
say, so let's have text center, and inside it, I want to have h2 Get in Dodge. So that's, that's
gonna be our heading. And then let's have P, lead. Something about questions. Do
not hesitate to contact us. Okay, now, let's add some row. And we're
going to also add just the FY content center. So it will be always centered. And let's also add
some margins here. And we're going to add some for to before we're going to add forms, let's
add, also some column. So there's going to be large, there's going to be six on the large
screens, and on the smaller one, is going to just take the full width, and inside it, let's
start creating our form. So I'm going to form I'm going to leave that action empty for now
because we are not adding any logic to it, we will just creating the front end part
for it. And let's start with the label. So if we do simple label for email, because we know
that that's what we're gonna start with, it kind of looks like this. And let's add input type
email. Okay, and then let's give ID email. And we can also have, we can have placeholder,
obviously, something like my email.com. So this is how it looks like, just by using the normal forms
and loading Bootstrap CSS, however, we can, we can make it even better. Because if we add class form,
label to our label, and we're going to add class form control. That's what's gonna happen. And yeah, let me let
me add, show you a few more examples. And then we're gonna also talk about variation you can have
with with Bootstrap, forms and inputs. So let's add another one. And let me just copy paste this
one, because we will have it for name, and name, and name. And then that's our example.
Okay, we not gonna bother with the spacing cue, we're gonna, we're gonna fix
it later. So we have two inputs. Now, let's add some select. So we can add, again, label. And
there's going to be four subject of our email. And we're going to add again, class form, label.
And then we're going to hold the subject. Okay, and now we have subject, so just normal select,
except for the fact that we're gonna add should we don't need this name, but
I'll just keep it class form, select. And then we're going to add some options here.
So option, and it's going to be let's say pricing should be pricing. And it's my copy of it,
what else we could have here possibly technical and some others, or general, whatever you
want to call it. Okay, so this is our, this is our select now. And if we want to have
some default value selected, then we just add this selected to the given option, and
it's gonna work like a charm. And finally, let's add some text area. So the user could
write us some, some message. So again, label and that's going to be our
query. So right message. And then we're going to have a text
story on. And obviously, whoops, text are real. It's gonna be query query calls
rows, we're going to set it to default, and then we're going to add class form control. Okay, so this is it maybe a little bit smaller.
Groups are meant to be smaller, not bigger. And then finally, let's add maybe some div with tech center, and we're going
to add some button here. So button, its type is going to be submit. And class is
going to be btn BTN. Primary. Let's use primary send. Okay. Thanks. And if I can
spell it properly. Yeah, so that's, that's it. It's, it's, yeah, it could be working
for him. However, let's tune it a little bit. With bootstrap five, we can easily
create pretty nice, pretty nice effect on called something called floating labels.
So I'm gonna show you that in a second. Just one more thing here is that we
could also have a placeholder, I believe. Right, something? Yeah, this is it, and it's
gonna disappear when we start typing in the school. However, if we want to use this floating,
then I'm going to get rid of it, I'm going to show you a nice trick, I believe, which you're going to
use when working with Bootstrap form. So let's do form floating. And then let's do some spacing,
EMI five. And now what we're going to do here, we're going to just put it this inside the roof.
And what happens now is that we don't need this. We don't need this Asha, we don't even have this. We even have this classroom. So we were missing
this class form label, which should be there. However, when you work with floating, we don't
you should remove it. And then let's change the order of it. And so the text area comes first.
And now see what's going to happen. says, let's do let's do this, like that style. And height of
200 pixel. Okay, and a little bit smaller and 115. And then we have form floating text
area. And in doesn't work curse, we are actually missing this placeholder, I
believe. Yeah, it can be empty, for some reason. Yeah, so now we can see you have this nice
floating label over here. And we can actually do pretty much the same with our inputs. So
let's do this. Now. Let's use it for name. Okay, so then what we have to do is, we have to switch
our label with the input that goes down below. And now it's working fine. So, you can
also achieve this very interesting effect on your inputs simply by using this this
div with the form of floating class. Yeah, so this is it, this is how you actually
work with it. Obviously, the there are more inputs here you have a range option. You have a
steppers and have input groups. I think this is also interesting where you can combine input
with other elements. So I prepared for you some examples over here. So you can examine
that by yourself and play with it. So if you want to play with some checkboxes, you have
a really nice option like this intermediate checkbox right so we have like checked unchecked
and this one is intermediate step available, some ranch some file upload and and few more
examples also of the validation that's also interesting because you can easily add the
validation messages to the to your input. And then that's also a fairly simple where
the with the bootstrap because as you can see, bootstrap comes with predefined labels, you
just find that this invalid check, right for the input. And then you say what you want to
what do you want to write? So you have this invalid feedback, right? So this will
you must agree before submitting. And you also have this positive
feedback. So here are valid feedback, which you use, together with along with the
input. And this, this obviously gives the user a nice positive feedback, you know
that the message is that everything was fine. And it did I know, for example,
the password he provided was strong enough. Okay, so we covered a lot of different
components, which bootstrap offers us, let's see what we haven't covered yet. And
which we're not going to do in this video, because it will take definitely too much time.
But these components are not that common, but they still can be useful for you. So for
example, the accordion right, so the kind of collapse the difference between columns and the
coordinates that accordion by default works like this, which means that you can have only one
active item, right? So we I cannot expand two at the same time, I just have to use the one. And
then again, this is pretty much simple. I mean, there is a lot of code over here.
But obviously, I think you can easily play with it and understand how does it go,
because you can see that there's accordion items, which are recurring elements, right. And then
if you want to just add or remove it, you simply copy, paste, add new one, and then you have you
change the heading. And then the content. What else we have here, we talked about others, badges,
you also we often use them however, again, nothing fancy, nothing, nothing complex here is just the
span of the class badge. And the to kind of give you this look, you will see this being used,
for example, in the notification, like here, or like this. So pretty, pretty straightforward.
Breadcrumbs. Again, if you want to show user, where are you now, what are you doing? I mean,
if you are going farther into for example, documentation, like here, you could show it, that
we are the components and then a breadcrumbs. Maybe with two levels, it doesn't make much sense.
But for example, here, if you go to variables, maybe that would make more sense for that. We
were talking about the buttons, you can obviously use button groups as well, if you want to work
with them. So if you won't have to multiple buttons combined into each other, we talked about
the carousel drop downs, we didn't talk about this specifically. But they were pretty much the same
as you've seen in the nav bar. So that allows you to show you know more info on demand, right, so
you can have some info in the nav bar. And then if you want to have more links, you can just add
more and more dropdowns lists groups pretty much straight forward. Similar to cards and panels
we've seen, so the panels, but they're just, they're just just either using lists. And
that's how you that's how they look like. Models. This is also very, very interesting and
important components. So let's have a look at this a little bit closer. So again, mechanic
is pretty, pretty much the same. So first, you just copy the model into your
page. So let's add it here to our body. So this is this is this model and it's
going to be visible until we actually fire this off. So we would have to add the
this piece of JavaScript to it. So this will fire when we click on the button.
So let's add this button over here. Okay. And we will need to actually use this this, I copied. I copied this model and this
is different example. The IDs are different, but it's triggered by our Data, target database
targets so that you need to make sure that this matches. So you have this example model here
and they have example model here over there. So then again, for the model itself, you have
header, you have body, and you have footer. So, pretty much like we been doing with cards.
So you can design it as you want, you have different buttons over here is dismissible.
And then you can simply just add the trigger, it is possible also to use JavaScript for that.
So if you want, you can, you can do it from JavaScript. And you're gonna find more information
how to do it here and change the configuration, whether you want to have a beggar applied like
this shadow in the back this this gray, which kind of makes your eye focusing on the model. So all of
that can be controlled from, from the JavaScript. And as always, there are like different options,
because you can have like full screen models, you can have large models, small models extra large,
so you can you can decide and work on different sizing. And also, also when you want to display,
whether it's on the center, or maybe to the right, and so on, you can embed different different
things like that, for example, the YouTube videos, so a whole lot of possibilities to choose from.
And finally, number three, obviously, when you have models, you can also use different methods
to show toggle, right, also change it from show to hidden, hidden to show show, hide, and dispose
and so on. So we talked about NASA nerf bars off Canvas we also covered. So, yeah, popovers is
also interesting. That's also why we actually used when we actually used Popper, in the first
place, the popovers are pretty similar to the tooltips. Right, so let's see tooltips first.
So the tooltips, you know, when you hover over a certain element you're gonna get you can show
the user a certain tooltip with extra information, which will make this easier for them to, you
know, get more familiar how to use your website. And when it comes to popover, it's pretty much
the same, however, you need to click to toggle right. So if you click on it, it's going to appear
and stays there. And if you want to hide it, you need to unclick it. And you can decide whether
you want to whether you want to use or actually to specifically unclick on the button, or you
want him to unclick anywhere. Finally, spinners and scrolls by so let's start with spinners. This
is what you use when you want to load something, right. So you just use it. And then usually
what we do, in such case we are actually it doesn't work because I put it probably inside
Yeah, inside model. So let me get it out of oil. Yeah, so this is the this is the spinner so
you use it when you want to show that something is loading, you can use it and combine it with
for example, buttons, right so now when a user clicks on something and waiting for the feedback,
you're just giving him more information that he's actually waiting for something and the page is
doing some logic in and behind. And then once it's done, you simply just use your js to change it
to hide this element or to replace with something else progress. So the progress bars pretty
straightforward here. So, depending on the value, you set is in this attribute value now, it will
basically fill up the progress bar to show the current status you can add labels like percentage,
you can change colors and are obviously different the color version of of this as well as the
multiple bars. So if you want to show like you know for example, that certain amount consists
of three different values and then you can use different colors to show it and finally as
close by so, this is this is also very useful. Which you can also see very often on the pages for
example, we are using this at our MD bootstrap.com If you go and check and in kind of navigation,
we are using the scrolls by over here. So this gives user you know the nice feeling where he she
exactly is Now, while using this documentation. So this is also handy. It's not that common,
it's, it's a little bit more complex. But sometimes you might want to use it. Like here
you have a navigation. However, you don't know where exactly you are, obviously, I mean,
you can imagine here, but this visual hint, it's always useful. And you can see, especially when
it comes to, you know, technical documentation. Okay, so we cover a lot of components. Obviously,
there are some more to go through, how are we going to do it in this video, but let's wrap
it up, and actually use whatever we learned in this course, to build a proper website.
So I'm going to start with this, this this template where we have the Bootstrap,
CSS, and J is loaded. And let's start building our page. So I want to start with
the header. And inside this header, I would like to have some nav bar. So let's find it out.
Let's go to components and then check for Neph. Bar. And I'm going to grab the basic example.
And we'll start to avert, it's gonna be good for the starting point. And I want to get rid
of this disabled. And I want to let's see what else I want to I want to make it dark actually.
So now let's start with getting this disabled out. And let's see how we can change the color here
it is. So I want to have no more dark and bar. And background dark. Yeah, this looks cool to me.
And I think that I might want to use container instead of the container fluid, which
will basically center my content. Okay, so let's now do something which is called
jumbotron, it's not there in in Bootstrap five. However, it was for for bootstrap used to had
something like this in the past, so just like a catchy element, which we can use to, you know,
to catch someone's attention. And I would like to use it here on the bench. So let's go and do some,
let's do some grid. So I'm gonna do the main part. So I'm gonna just do the semantically
correct. And then let's do a container. And inside this container, let's have a
row. And let's have a row. And then inside, I would like to have Call MD seven, and then
call nd five. So I didn't want to have them to be equal, I want them. However, I still want
them to sum up up to 12. So the left side, I would like to have some image with
obviously, the image fluid class. And let's grab something from big sum, which you
already know. Oops. Put it here. So we have it here on Oh, we already see that we are missing
some spacing. So let's added class, M, why five? Okay, so here we have image. If we change ID,
we're gonna get some other image. So we can play with it, and search for something which
will suit you most. And as far as the right part is concerned, I would stick it to some
some catchy tagline. So let's have an h1. And then that's our tagline. Okay, and within this
tagline, and that's also add, for example, some paragraph and to get it a little bit down, and
let's add some Lorem. I know 13. Will that be sufficient? Yeah, I think that's, that's
okay. It can be too long. Obviously, normally, we would use some catchy text over here.
It can be too long, because he's learning to read quite fast. And then let's add some button.
So we're going to have a button. So the type is baton, and the class is BTN. And then btn
primary, and then margin, top would say five And then that's a call to action. We want user to
do something cure. Yeah, maybe there's too much. How about three? Yeah, I guess this better.
And I would still do it. Either. Let's do this class, Mt. Five. Yeah, I think now it looks cool.
So this blue color response with the image. So I really liked. Now, let's, let's
add some call to action here now. So I'm going to show you how to create actually, the component, which is not during
Bootstrap, like we did with jumbotron, just to show you that Bootstrap is not only
about the components, it's also about the utilities and classes, which you can use to
create and to design your own ideas. So let's add another row over here. And now within this
row, just add the full call to be semantically correct. And then let's do something like
that. I want to have BG secondary color. BG secondary. Okay, and add some text. Here,
Lauren 10. Okay, it doesn't look good yet, but we will make it beautiful soon. So we've got
the kind of dark background, so probably it will be wise to change the text to white or something
lighter. Okay, and now see what I'm gonna do. I'm actually on a also wrap it up as Card button.
So I'm using the bootstrap component here. And I'm gonna do some spacing Q. So am I five, as
well as be while for? And let's also add the card. Okay, and I want this everything to be text
centered. And yeah, I think I think that's okay. Perhaps even smaller. Yeah, something
like this would do. Yeah, maybe even. offered that looks cool. No, no, let's add some
cards here to show our latest blog posts. So I'm going to add another row. And now let's see
what we've got here. So let's get back to cards. And either we're going to use three cards with
an image, so we can copy the basic example or, or we would go with this card group. So I don't
know which I like more. I think we haven't done card group yet. So let's do a card group. In
here, however, would like to. Now we don't have the one the button. So let's do we're going
to add this manually. So let's do this here. I have a call. And now let's, let's place it
like this. And now let's add some images. So I'm just gonna replace this one where it
soars with number 200 201 and then 202. So this guy, give me an S images, and let's
just add a button. So I can type everything yourself or you can just copy paste an existing
sample. And let's, I know should we put it above? Or should we put it below so that's right
below. So I will do no multicar sir. So I'm just gonna click here, here and there
with my Alt pressed and now I can type in in a few in a few places at the same time, so
I'm going to add text center and inside this I'm going to put our our button I'm gonna change
it to read more. And actually, you know what, I just To the letter A. Because we need this to
be a hyperlink, and then No, our just I'm not sure if you can see this clearly, I'm just editing this
three lines at the same time, read more. Yeah. And this will go here. And actually, I think I should
I should do the other way around. So I should actually, you know what, let's get rid of this.
We don't I think user is not interested in whether it's been updated or not. Three
minutes, because it's a blog post, maybe if we were doing the magazine, that would
be more important. And you know what, as well, I don't want this to be centered, to be honest, when
I look at it now. So let's just get rid of it. And stick to the basics. Okay, that's cool.
And now finally, I'm gonna do, I'm gonna do some shortcut here, I'm gonna get the form. So
let's have this form here from here. And that's, actually I want to have this container. And
so yeah, we'll need this row. Or I can see. Up here it collapse. And now let's, let's cut
this one. And let's change to the landing. Who want you to find my role now. So this is main,
this is number roll number one, row number two, row number three. And is it yes, this is the
one except for the fact that we need some spacing here as well. Okay, and finally,
let's go and find some bootstrap five footer. This is one of the option. But let's just, let's
just have something like sticky folder. Okay. So this is footer, I'm gonna get this
footer. And I'm gonna go and add it here as a footer. And obviously, I'm gonna
change it to dark. And light. Let's see. Yeah, so this is our sticky footer at the bottom.
And then we will do something like copyright, HTTPS and the bootstrap.com. And the boot, strap
that calm. Cool. So yeah, maybe this is not the most complex site you've ever seen. But I think
we've created this like in what it was 10 minutes, perhaps, man, I think it's even less. So I hope
that I just gave you this idea how quickly you can really prototype your pages with the use of
the bootstrap components. And you can really, really nicely just organize everything and
because obviously, you could write all of that by yourself. But it would take much,
much longer be mean, you would be actually reinventing the wheel. So you will be
fighting with you know, making this making this responsive. And this obviously,
by default, is responsive. So it will adjust the screen it will look perfectly on each and
every screen. You have a you have also scripts here. So you know to create this drop down, you
can do it yourself, but it's there. It's been tested by millions of users. So there is no point
doing this. So I hope you enjoyed this tutorial. Okay, so finally, I wanted to show you the last
thing is how you can easily publish your page. So what do you have to do to publish your page
you simply open the command line I have the one which is building in Visual Studio code, but
you could also use a command line from a Windows or terminal from Mac OS whichever you're using.
Navigate to the folder of your choice and then I'm gonna go to CD landing, because this is where the,
the page we we just created and the Free Code Camp is just a generic folder with all the sub
folder there is no index html file. So I will need this index html file actually lending
to be there. And actually, you know what, let's, let's also rename it into index html. So as you
know, then the browser will know that this is, this is the entry file. And then what you have to
do is just simply type MDB publish, and it's gonna ask you whether you want to use NPM, or yarn,
I'm going to stick with the NPM. It's gonna ask about the neck. So let's do the Free Code Camp.
Bootstrap five, let's say, and few more options. I'm going to just accept the default ones. I'm
going to hit Enter, and what you're going to see is that this gonna be updated within just a second
and you're gonna see the URL over here, when you click it, boom patch has been just deployed
to the server. And this is, this is their, this is secured with SSL and it's absolutely free.
If you don't have it, yet, simply navigate to MTB go TOCOM. And there's where you can find the
installation procedure. So, you have to install this MDB tool so you'll be able to do NDB in your
command line, so npm install manager MTB CLI, and just create the free account so you'll be able
to do MDB publish on your account with your your