% @side_nav = "nav" %>
There are two ways to build pagination in Foundation 4: with our predefined HTML or with our mixin. Building pagination using our predefined classes isn't hard at all. You'll start with an unordered list and add a class of .pagination
to it. From there, you just need to add list items with links in them. Those list items have a few options you can use:
<li class="arrow">
as your first and last list items.<li class="current">
.unavailable
to a list item to make it not clickable, like for the ellipsis in the middle.For these styles to come across, make sure you have the default Foundation CSS package or that you've selected pagination from a custom package. These should be linked up following our default HTML page structure.
In some instances, you'll want you pagination to be centered within a container. We've got you covered! Just wrap your unordered list in something that has a defined width and add the class, .pagination-centered
.
We've included SCSS mixins used to style pagination. To use the mixin, you'll need to have the extension installed or grab _variables.scss, _global.scss and _pagination.scss from Github and throw them into a Foundation folder in your project directory. From there, you can import the files at the top of your own SCSS stylesheet, like so:
<%= code_example ' @import "foundation/variables", "foundation/components/global", "foundation/components/pagination"; ', :css %>If you are using the mixins, you may include the styles on whatever class or ID you'd like to the unordered list. The interior classes come with the mixin, just make sure you follow our markup structure:
<%= code_example ' ', :html %>You can build your pagination using our global mixin by including it on your own custom class. The mixin contains all the necessary styles for positioning and styling the unordered full list of items, the code looks like this:
<%= code_example ' .your-class-name { @include pagination; }', :css %>Just like with the CSS, we've made it easy to center the pagination element using the quick mixin.
<%= code_example ' .your-class-name { @include pagination($centered, $base-styles); } /* Setting this to true will add styles to the parent of your pagination element for centering */ $centered: false /* This controls whether or not the base styles come across. Useful when applying the centered option. */ $base-style: true ', :css %>Note: emCalc();
is a function we wrote to convert px
to em
. It is included in _variables.scss.