How to add formatting to your AO3 Dashboard


An AO3 Dashboard with a Site Skin Applied
  • I have provided a detailed site skin in hideous colours so that you can identify which pieces of code affect which parts of the screen.

Background

The default AO3 dashboard has basic colours, layout and formatting, designed to ensure your dashboard loads quickly, rather than to be eye-catching.

Personally, I don’t like the default dashboard as I find it difficult to read and rather boring in comparison to the stories. I’m also not a fan of the alternatives that AO3 offers for situations like impaired vision. (If you want to see these AO3 options, they are listed on the footer of your dashboard.)

Since the only person who can see your AO3 dashboard is you, changing the look and feel is completely about making it fun for your own enjoyment. This is where Site Skins are useful.

Like Work skins, applying a Site Skin to your dashboard is relatively easy. In some ways, Site Skins are easier to set up than work skins, given you just write them and click ‘use’. However, I have found them more temperamental. For that reason, unless you are confident with coding, I would recommend you limit the changes to the code I’ve provided. This can still provide you with lots of customisation opportunities, such as adding your own images to the header, colours to the screen, and different fonts.

Hopefully, this article will explain how to add AO3 site skins to your dashboard in a sensible way.

Terminology

Before Site Skin
After Site Skin

A Site skin is a file containing the instructions to change the way your browser displays the AO3 dashboard. The code format is similar to AO3 Work Skins, but you are the only person for whom the formatting changes are visible. If you want to share your site skin with someone else, you will need to send them the code – and instructions on how to apply it.

This article will aim to give you some site skins that you can understand – and change to suit your own tastes!

Creating the Site Skin



Go to your AO3 Dashboard and look at the left hand side of the screen.

Click on the option for Skins

Select My Site Skins:

From the top right, select Create Site Skin

This loads the CSS Code Box

Put “ABCSITE” in the Title field to name the new Site Skin, where ABC is yourname.

We are going to copy and paste my code into your CSS box to create a basic site skin.

When you do, leave a line between each group of code so that it looks a bit like this.

Copy the CSS code into the box and Click ‘Submit’ on the bottom right
This shows you how the skin would look.
At the bottom right of the screen, choose ‘Use’.

This skin looks absolutely hideous, but it’s like this for a reason. Below is the annotated code. The colours are to help you understand which bit of code formats which part of the display. I would recommend making two skins. One for reference, and the other one to play with. Begin with the same code in both.

Pale Green text are the annotations / comments I have made about the code.

#header h1 sup,

#header .button,

#header .landmark,

#header .logo {

  display: none;

}

#header,

#inner.wrapper {

  margin: 0em 2%;

}

#main,

.listbox .index,

.work.own,

li.relationships a,

.thread .even {

  background: #C6EAC3;

}

body,

#main {

  color: red;

}

#outer.wrapper {

  padding-top: 16em;

  background-color: blue;

  background-image: url(“https://64.media.tumblr.com/8dfb295de22717067519c8abd3a0a015/d83b646000cf16f8-02/s1280x1920/3dab190947908c46975c2ceeb080b2d1a71105fb.gif”);

  background-repeat: no-repeat;

  background-size: 100% 2%;

}

#inner.wrapper {

  padding: 2em 0.5em 0.5em 0.5em;

  background: orange;

}

#header .heading {

  height: 30em;

  background: none;

}

#header {

  background-color: transparent;

  background-image: url(“https://64.media.tumblr.com/559c9722bb3c1bcb169e46eeea79b73c/12b672d5c6315bb7-45/s1280x1920/360a52cd39fa29a88543bcd08ccc236bbc5a1734.gif”);

  background-repeat: no-repeat;

  background-size: cover;

}

#main {

  border: 10px solid purple;

}

#header .primary {

  background: lime;

  color: #549959;

  width: 12em;

  height: 9em;

  position: absolute;

  top: 18.5em;

  left: 0.3em;

  box-shadow: none;

}

#header .dropdown .menu {

  min-width: 19em;

}

#header .primary li:first-child {

Background: yellow;  

margin-left: 0em;

}

#header #search .text {

  width: 10em;

  background: purple;

  border: 1px solid #549959;

  position: absolute;

  top: 3em;

  right: 1em;

}

#greeting li,

#greeting li a {

  color: #549959 !important;

}

#header .primary li,

#header .primary li a {

  color: #064517 !important;

}

#greeting {

  background: brown;

  border: 2px solid #E6F6E6;

  position: absolute;

  width: 12em;

  Height: 8em;

  top: 18.5em;

  right: 3em;

  margin-right: 0em;

}

#greeting li {

  clear: left;

  border-bottom: 0 dashed #E6F6E6;

  margin-top: 0.4em !important;

}

#greeting .dropdown .menu li {

  margin: 0 0.125em !important;

}

#greeting .menu {

  width: 16em;

}

#greeting .icon img { 

display: none;

}

#greeting::before {

  background-image: url(“https://64.media.tumblr.com/988f452fc4053e40593429efa1f0fc32/82e6e0add1b42a64-cf/s540x810/a0a3e066689e340a909b7b28f3d64447a67708d9.gif”);

  background-repeat: no-repeat;

  background-size: 50px 55px;

  width: 50px;

  height: 55px;

  content: “”;

  position: absolute;

  left: 12px;

  top: 24px;

}

#header .heading a {

  font-size: 5em;

  line-height: 1.2em;

  text-transform: titlecase;

  letter-spacing: .1em;

  color: #E6F6E6;

  position: absolute;

  left: 0em;

  top: -1.5em;

}

#footer {

  background-image: url(“https://64.media.tumblr.com/559c9722bb3c1bcb169e46eeea79b73c/12b672d5c6315bb7-45/s1280x1920/360a52cd39fa29a88543bcd08ccc236bbc5a1734.gif”);

  background-repeat: no-repeat;

  background-size: cover;

  border: none;

}

#workskin h2,

.preface h3 a,

.system .latest h3,

.splash .module h3,

.system .tweets h3 {

  color: #549959;

}

.blurb h4 a:link {

  color: pink !important;

}

.splash .favorite li:nth-of-type(odd) a {

  background: #E6F6E6;

}

.splash .favorite li:nth-of-type(odd) a:hover,

.splash .favorite li:nth-of-type(odd) a:focus,

a.tag:hover,

a.tag:focus,

#dashboard a:hover,

#dashboard a:focus,

#dashboard .current,

#header .dropdown .menu a:hover,

#header .dropdown .menu a:focus {

  background: pink !important;

  color: #fff !important;

}

#header .actions a:hover,

#header .actions a:focus,

#header .dropdown:hover a,

#header .open a,

#header .dropdown .menu a,

#header .dropdown .menu,

#greeting .dropdown .menu,

#greeting .dropdown .menu a {

  background: gold !important;

  color: #043005 !important;

}

#header .dropdown .menu,

#greeting .dropdown .menu {

  border: 1px solid #549959;

}

#greeting .current,

#greeting .dropdown:hover li,

#greeting .dropdown:focus li {

  box-shadow: none;

  background: #E6F6E6 !important;

  color: #043005 !important;

}

#dashboard.own,

#dashboard {

  background: magenta;

  box-shadow: 0 0 2px #000;

  color: #043005;

  border: 2px solid white;

}

#dashboard ul {

  background: lightblue;

  border: none;

}

#dashboard .secondary {

  background-color: rgba(250,250,250,0.7);

  box-shadow: none;

}

.splash .module h3,

.splash .news li,

.home .header h2,

li.comment,

dl.meta,

.bookmark .user,

#header .menu li,

#dashboard ul,

#dashboard .secondary,

ul.notes,

.flash,

.notice,

tbody tr,

thead td,

#header #small_login,

fieldset,

form dl,

fieldset dl dl,

fieldset fieldset fieldset,

fieldset fieldset dl dl,

dd.hideme,

form blockquote.userstuff,

form dt,

.actions a:active,

.current,

a.current,

.current a:visited,

.search span.tip,

.listbox,

fieldset fieldset.listbox {

  border-color: #549959;

}

#main .verbose legend,

.unread,

.child,

.unwrangled,

.unreviewed,

.verbose fieldset,

.draft,

form ul.notes,

#modal,

.ui-sortable li,

.comment_notice,

.kudos_notice,

div.dynamic,

#ui-datepicker-div,

.ui-datepicker table {

  background-color: #c7b9b5;

  border-color: #549959;

}

.flash,

.notice {

  background-color: #549959;

  color: #fff;

  border-color: #000;

}

.flash a,

.notice a {

  color: #fff;

}

form .notice,

ul.notes,

.caution {

  background-color: #FFEEDA;

  border-color: #45769e;

  color: #043005;

}

form .notice a,

ul.notes a,

.caution a {

  background-color: #FFEEDA;

  border-color: #45769e;

  color: #043005;

}

.alert.flash,

.error,

.comment_error,

.kudos_error {

  background: #efd1d1;

  color: #000;

  border-color: #900;

}

h2 {

  font-size: 1.286em;

  line-height: 1;

  margin: 0.5375em 0;

}

.comment h4.byline {

  background-color: #83B77C;

}

.listbox,

.bookmark .user,

.bookmark .user .header,

.reading h4.viewed,

.dropdown,

fieldset fieldset.listbox,

fieldset,

form dl,

fieldset dl dl,

fieldset fieldset fieldset,

fieldset fieldset dl dl,

dd.hideme,

form blockquote.userstuff,

.dynamic form fieldset,

.toggled form fieldset,

.toggled form dl,

.secondary .toggled form,

.secondary form,

.required .autocomplete {

  background-color: #e3dbd9;

}

.filters .submit input {

  color: #FFF;

  background: #9c908e;

  box-shadow: 0 0 4px #000;

  border: none;

}

li.blurb,

.listbox li.blurb,

li.comment,

.statistics .index li:nth-of-type(even),

dl.meta,

dl.index dd,

#ibox_wrapper,

#ibox_content,

textarea:focus,

input:focus,

select:focus {

  background: rgba(250,250,250,0.7);

}

textarea,

input,

select,

option,

.toggled form,

.dynamic form,

.autocomplete .dropdown ul,

.autocomplete .dropdown ul li,

.autocomplete input {

  background-color: #fff;

}

li.blurb,

.listbox li.blurb {

  box-shadow: 0px 0px 4px #000;

  border: 2px solid #549959;

  border-radius: 10px;

}

.bookmark .user {

  border-radius: 5px;

}

.blurb .header {

  border-bottom: 1px solid #549959;

}

.bookmark .user .module {

  border: none;

}

.reading h4.viewed,

.bookmark .user {

  box-shadow: none;

}

.reading h4.viewed {

  border: 1px dashed #549959;

}

.icon {

  Display: none;

}

.comment div.icon {

  border-bottom: none;

}

#workskin .notes,

dl.meta,

.reading h4.viewed,

.bookmark .user,

.comment .posted,

.comment .edited {

  font-size: 90%;

}

#workskin {

  text-align: justify;

}

#workskin h2 {

  font-size: 2.7em;

}

ul.tags li.warnings,

ul.tags li.relationships,

ul.tags li.characters,

ul.tags li.freeforms {

  float: left !important;

  margin: 0;

  padding: 2px;

}

li.warnings + li.relationships,

li.relationships + li.characters,

li.characters + li.freeforms,

li.warnings + li.characters,

li.warnings + li.freeforms,

li.relationships + li.freeforms {

  clear: left;

}

ul.tags li.warnings:first-child:before {

  content: “Warnings: “;

  color: #000;

  font-family: Verdana,serif;

  font-weight: 600;

}

li.warnings + li.relationships:before {

  content: “Relationships: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.relationships + li.characters:before {

  content: “Characters: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.characters + li.freeforms:before {

  content: “Other tags: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.warnings + li.characters:before {

  content: “Characters: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.warnings + li.freeforms:before {

  content: “Other tags: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.relationships + li.freeforms:before {

  content: “Other tags: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

li.blurb blockquote p:first-child::before {

  content: “About: “;

  color: #000;

  font-size: 95%;

  font-family: Georgia,serif;

  font-weight: 600;

}

.blurb ul.series::before {

  content: “Series: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

.blurb .fandoms::before {

  content: “Fandom: “;

  color: #000;

  font-family: Georgia,serif;

  font-weight: 600;

}

#header h2 {

  background-color: #B9848C !important;

  margin: 0.1em auto;

  border-top: 1px solid #E6F6E6;

  border-bottom: 1px solid #E6F6E6;

  clear: right;

}

.home .primary .icon::after {

  background-image: url(“https://64.media.tumblr.com/b88970999397ffc78bac1cb5d0abc62b/61194217dcc27100-d8/s1280x1920/2614e9346e49b702d74abdfa9947e2c55af76ee1.gif”);

  background-size: 70px 100px;

  display: block;

  width: 70px;

  height: 100px;

  content: “”;

  position: absolute;

  left: 10px;

  top: 1px;


Leave a Reply

Scroll to Top