AttriCSS is a classless css style sheet that style normal ugly html to beautiful representable website.


For faster prototyping of backend logic on front end without any use of classes and just using html.

  1. For blogging website just add attricss to site and it will turn a ugly site into a beauty.
  2. For backend developer who do not want to dig into css classes.
  3. For faster prototyping.
  4. No use of classes. still responsive and still have almost all the features you need.
  5. Create your own theme by just changing some variables.

Available Themes

  1. No Theme
  2. Bright Light green
  3. Midnight Green
  4. Dark Forest Green
  5. Dark Fairy Pink
  6. Light Fairy Pink

Nav bar

Above navbar is responsive by wrapping ul in a div with overflow attribute.

NOTE We use font-awasome for icons.

        <a href="#">Hello World</a> 
        <label for="nav"><i class="fas fa-bars"></i></label>
    <input type="checkbox" id="nav" hidden checked>
    <div overflow>
            <!--active link in navbar with active attribute-->
            <li active><a href="#">Home</a></li>
            <li><a href="#">Discover</a></li>
            <li><a href="#">About</a></li>
            <li><a href="#">Contact</a></li>

This is a H1 heading

This is a link (nothing will happen)

This is just a now normal paragraph.

and below are the available lists

Unordered list (bold)

Ordered list (bold)

  1. striked out text
  2. Underlined text here
  3. highlighted text here

This is a H2 heading and below is a Quote

“If you knew what I know about the power of giving you would not let a single meal pass without sharing it in some way.”

Quote by Lord Buddha

    <footer>Quote by <cite>Lord Buddha</cite></footer>

This is a H3 heading and below is a code block

NOTE You can use prism.js for code highlighting.

# Python program to mail merger
# Names are in the file names.txt
# Body of the mail is in body.txt

# open names.txt for reading
with open("names.txt",'r',encoding = 'utf-8') as names_file:

# open body.txt for reading
with open("body.txt",'r',encoding = 'utf-8') as body_file:

    # read entire content of the body
    body =

    # iterate over names
    for name in names_file:
        mail = "Hello "+name+body

        # write the mails to individual files
        with open(name.strip()+".txt",'w',encoding = 'utf-8') as mail_file:

Horizontal line below


h1 Header

H2 Header

H3 Header

H4 Header

H5 Header
H6 Header


NOTE Tables become responsive if you wrap the table with a div and add overflow attribute to it.


<div overflow>
Head 1 Head 2 Head 3 Head 4 Head 5
Lorem. Cum. Rem. Sequi. Maiores.
Officiis! Similique? Ducimus. Accusamus? Nam!
Molestias? Sit. Consectetur! Accusantium? Similique?
Nam. Doloremque? Unde. Sed. Eaque.
Cumque. Voluptas. Magnam! Ipsam! Nobis.


This is an image. Image is also responsive like other elements.


Form input elements (legend)

Gender :

Normal inputs based elements like input, select, etc are style based on below structure.

        <label for="input">Input lable</label> 
        <input type="text" id="input"> 


Textarea looks like this and it is also responsive.


NOTE Buttons are also modified based on attributes, for seecondary use secondary & disabled for disabled button respectively.

<button secondary>secondary</button>
<button disabled>Disabled</button>

Global Attributes/class

These are global atrribute or classes you can use to make navbar, container, buttons work responsively.
  1. overflow : wrapping an block with a div with attribute overflow make it responsive.
  2. container : apply on section only to make a container wrapper.
  3. secondary : apply on button to make secondary button.
  4. active : add to li navbar to make it active