I know that other solution exists (using Greasmonkey for example) but this one is technically interesting and show the power of Firefox
So, first of all, use Firefox :D (use Firefox 4.0 if possible but that's not necessary for the trick)
Go to your user profile :
- Windows Vista et Seven : C:\Users\UserName\Appdata\Roaming\Mozilla\Firefox\
- Windows 2000/XP : C:\Documents and Settings\UserName\Application Data\Mozilla\Firefox\Profiles\
- Windows 9x/Me : C:\Windows\Application Data\Mozilla\Firefox\Profiles\chrome\ or C:\Windows\Profiles\UserName\Application Data\Mozilla\Firefox\Profiles\
- Windows NT 4.x : C:\Winnt\Profiles\\Application Data\Mozilla\Firefox\Profiles\
- Unix/Linux : ~/.mozilla/firefox/
- Mac OS X : ~/Library/Mozilla/Firefox/Profiles/ or ~/Library/Application Support/Mozilla/Firefox/Profiles/
Here create a new file named (the name is important) userContent.css
This file will allow you to customize every content shown by Firefox.
In this file paste the following code :
@-moz-document domain(mail.google.com){
.p {
-moz-border-radius-topleft : 10px;
}
.q {
-moz-border-radius-topright : 10px;
}
.i {
-moz-border-radius-bottomleft : 10px;
}
.j {
-moz-border-radius-bottomright : 10px;
}
.mq{
-moz-border-radius:5px 5px 0 0;
}
.z8 {
-moz-border-radius : 5px;
}
.nZ{
-moz-border-radius:5px 0 0 5px;
}
.mq {
display:none;
}
table.Bs.nH.iY > tr > td:nth-child(3){
display:none;
}
/*
table.Bs.nH.iY > tr > td:nth-child(2){
display:none;
}
*/}
You can notice that the media like query @-moz-document is used. (See http://www.w3.org/TR/css3-mediaqueries/)
This is the same type that @media or @print followed by a query. In this query we specify that we want the enclosed css to be applied only on domain mail.google.com.
Then there is a lot of selector, .i, .j, .p and .q matches the borders divs. (Has certainly previously a rounded sprite background).
.mq match the top ads banner and finally the two last tables td for side ads (not really sure this is a good idea to select these one like that since it can hide other parts of the interface...but for now seems to work at least with my configuration).