• Skip to main content
  • Select language
  • Skip to search
MDN Web Docs
  • Technologies
    • HTML
    • CSS
    • JavaScript
    • Graphics
    • HTTP
    • APIs / DOM
    • WebExtensions
    • MathML
  • References & Guides
    • Learn web development
    • Tutorials
    • References
    • Developer Guides
    • Accessibility
    • Game development
    • ...more docs
Archive of obsolete content
  1. MDN
  2. Archive of obsolete content
  3. Themes
  4. Theme changes in Firefox 2

Theme changes in Firefox 2

In This Article
  1. Browser changes requiring theme updates
  2. Changes to the default theme
    1. Changes in browser
      1. bookmarks/addBookmark.css
      2. bookmarks/bookmarksProperties.css
      3. browser.css
      4. searchbar.css
      5. preferences/preferences.css
      6. feeds/addFeedReader.css
      7. feeds/subscribe.css
      8. safebrowser/browser-protection.css
      9. engineManager.css
    2. Changes in global
      1. about.css
      2. browser.css
      3. menu.css
      4. notification.css
      5. scrollbox.css
    3. Changes in mozapps
      1. extensions/about.css
      2. extensions/update.css

This article covers the changes that need to be made to update a Firefox theme to work properly in Firefox 2.

Note: We could use an article called Updating themes for Firefox 2 that would serve as a how-to guide for updating themes. If anyone with theming experience would like to write one, please do!

Browser changes requiring theme updates

There are a number of changed and deleted files in the browser that may require you to make changes to your theme. The table lists both the changed XUL file and the theme's corresponding CSS file that you might need to update.

Filename CSS File Details
browser/base/searchDialog.xul browser/base/content/searchDialog.css Removed from Firefox 2.
feeds/addFeedReader.xul feeds/addFeedReader.css New file that presents UI for adding a new feed reader.
feeds/subscribe.xhtml feeds/subscribe.css New file that presents the UI for subscribing to an RSS feed.
preferences/downloads.xul - Removed from Firefox 2.
preferences/general.xul - Removed from Firefox 2.
safebrowsing/warning-overlay.xul safebrowsing/browser-protection.css New file containing the overlay that's drawn over the browser when you browse to a suspected phishing site.
search/engineManager.xul engineManager.css New file containing the UI for the Search Engine Manager window.
toolkit/mozapps/preferences/fontscaling.xul - Removed from Firefox 2.

Changes to the default theme

The table below lists all the changes made in the default theme for Firefox 2; you can use this information as a starting point for figuring out the changes you need to make.

File Description of change
browser/bookmarks/addBookmark.css Updated to include microsummary-related CSS changes.
browser/bookmarks/bookmarksProperties.css New file; includes microsummary-related CSS.
browser/browser.css Needs to be updated to include new CSS for microsummaries, search fields, iconic bookmark menu items, and more.
browser/dropmark-nav-small.png New file; used as the drop-down menu arrow on the navigation buttons, when using small icons.
browser/dropmark-nav.png New file; used as the drop-down menu arrow on the navigation buttons.
browser/engineManager.css New file; CSS used for the Search Engine Manager.
browser/feeds/addFeedReader.css New file; CSS used for the window to add a new feed reader.
browser/feeds/feedIcon.png New file; the RSS feed icon.
browser/feeds/feedIcon16.png New file; the 16x16 pixel version of the RSS feed icon.
browser/feeds/subscribe.css New file; CSS used for the window to subscribe to a news feed.
browser/Go-rtl.png New file; Go icon to use if it's positioned at the left end of the URL field.
browser/preferences/preferences.css File that skins the preferences window.
browser/safebrowsing/browser-protection.css New file; CSS for the window that appears to warn the user that a site may be fraudulent, as well as the URL bar icon that indicates a site may be fraudulent.
browser/safebrowsing/close16x16.png New file; this is the icon displayed in the safe browsing warning window as a close box for the window.
browser/safebrowsing/dim.png New file; this is a graphic overlaid on top of the contents of the window to "dim" it when the safe browsing warning window is displayed. It should use translucency to allow the window contents to be visible through it.
browser/safebrowsing/tail.png New file; this is the "tail" of the talk-bubble style window used to indicate that a site may be fraudulent.
browser/safebrowsing/warning16x16.png New file; this is the 16x16 pixel version of the warning icon displayed in the URL bar when the safe browsing warning window is displayed.
browser/safebrowsing/warning24x24.png New file; this is the warning icon that's displayed inside the safe browsing warning window.
browser/search-bar-background-mid.png New file; the background for the middle part of the search bar. The ends of the bar are now skinned separately.
browser/search-bar-background.png Removed file.
browser/Search-bar.png Removed file.
browser/Search-go-rtl.png New file; the go button displayed when it's at the left end of the search bar.
browser/Search-go.png New file; the go button displayed when it's located at the right end of the search bar.
browser/Search-provider-bkgnd-rtl.png New file; the background drawn behind the search provider icon when it's located at the left end of the search bar.
browser/Search-provider-bkgnd.png New file; the background drawn behind the search provider icon when it's located at the right end of the search bar.
global/about.css New file; CSS used in the application's about box.
global/alltabs-box-bkgnd.png New file; the background for the "all tabs" drop-down menu at the right side of the tab bar.
global/alltabs-box-overflow-bkgnd.png New file; the background for the "all tabs" drop-down menu when there are enough tabs to activate tab bar scrolling.
global/browser.css Revised to support new styles for the main browser window.
global/globalBindings.xml Updated to support changes to the tab bar, including per-tab close buttons.
global/icons/alltabs.png Not actually used; left over from earlier drafts of the theme.
global/inactivetab-left.png Removed file.
global/inactivetab-right.png Removed file.
global/menu.css Updated to include new styles.
global/notification.css New file; defines styles used by the notification strip that appears at the top of browser windows to present notices such as "a popup was blocked."
global/scrollbox/autorepeat-arrow-dn-dis.gif New file; icon displayed for a disabled autorepeat down arrow in a scroll box.
global/scrollbox/autorepeat-arrow-dn.gif New file; icon displayed for an autorepeat down arrow in a scroll box.
global/scrollbox/autorepeat-arrow-up-dis.gif New file; icon displayed for a disabled autorepeat up arrow in a scroll box.
global/scrollbox/autorepeat-arrow-up.gif New file; icon displayed for an autorepeat up arrow in a scroll box.
global/scrollbox.css Needs to be updated to include new styles.
global/tab-arrow-end-bkgnd.png New file; the background for the scrolling tab bar arrow at the right side of the tab bar.
global/tab-arrow-end.png New file; the arrow drawn in the scrolling tab bar box at the right end of the tab bar.
global/tab-arrow-start-bkgnd.png New file; the background for the scrolling tab bar arrow at the left side of the tab bar.
global/tab-arrow-start.png New file; the arrow drawn in the scrolling tab bar box at the left end of the tab bar.
global/tab-left.png New file; the left edge of a tab.
global/tab-middle.png New file; the middle of a tab.
global/tab-right.png New file; the right edge of a tab.
global/tabbrowser-tabs-bkgnd.png New file; the background for the tab bar, displayed behind all tabs.
global/toolbar.css Needs to be updated to include new styles.
mozapps/extensions/about.css Updated with a simplified set of style names, since several styles were identical.
mozapps/extensions/extensions.css CSS for the add-ons manager window. Updated to support the new features of the Firefox 2 add-ons manager.
mozapps/extensions/itemDisabledFader.png New file; a translucent PNG used as an overlay on top of items that are disabled in the add-ons manager.
mozapps/extensions/itemEnabledFader.png New file; a translucent PNG used as an overlay on top of items that are enabled in the add-ons manager.
mozapps/extensions/notifyBadges.png New file; contains the icons used ito badge the icons for add-ons in the add-on manager window to indicate their status. These look like this in the default theme:

  • The first icon (green here) indicates that an add-on has an update available.
  • The second icon (yellow here)appears to be used for blocklisted items; trying to confirm.
  • The third icon (red here) indicates that an add-on is disabled, either by the user or because it's incompatible with the application.
  • The fourth icon (blue here)(not sure what this one means).
mozapps/extensions/question.png New file; used in the Add-ons Manager when you check for updates. If no updates are found, this icon is displayed at the left side of the message strip that appears across the top of the window.
mozapps/extensions/update.css This file, which skins the Firefox update wizard, has fewer styles in it due to the redesigned update wizard.
mozapps/extensions/viewButtons.png New file; contains icons for each of the views that may be available in the add-ons manager. In the default theme, these look something like this:


The top row contains dimmed versions of the icons below them. The first icon is for the extensions view. The second is for themes. The third is for locales, the fourth is for plugins, the fifth is for updates, and the sixth is for installs.

mozapps/pref This entire directory is no longer used in Firefox 2 and should be removed.

Changes in browser

bookmarks/addBookmark.css

The addBookmarks.css file should have the following lines added to the top:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
@namespace html url("http://www.w3.org/1999/xhtml");

Some microsummary-related CSS also needs to be added, to provide formatting for the microsummary picker. These are used to make the picker look like a regular text box instead of like an editable menu list when there are no microsummaries available.

  • menulist#name[droppable="false"]
  • menulist#name[droppable="false"] > .menulist-editable-box
  • menulist#name[droppable="false"] > .menulist-editable-box > html|*.textbox-input
  • menulist#name[droppable="false"] > .menulist-dropmarker
  • menulist#name[droppable="false"] > menupopup

This file styles addBookmark2.xul.

bookmarks/bookmarksProperties.css

This is a new file in Firefox 2, and should contain the same CSS code as you added to addBookmark.css. This file styles bookmarksProperties.xul.

Note: This CSS may be moved out into a separate file that will be referenced by both files in the future.

browser.css

The following styles used in Firefox 1.5 themes are no longer used in Firefox 2 and should be removed from your theme:

  • #bookmarks-button:active
  • #copy-button:active
  • #cut-button:active
  • #downloads-button:active
  • #forward-button[buttondown="true"]
  • #history-button:active
  • #home-button:active
  • #mail-button
  • #mail-button:active
  • #mail-button[disabled="true"]
  • #mail-button[open="true"]
  • #new-tab-button:active
  • #new-tab-button[checked="true"]
  • #new-window-button:active
  • #new-window-button[checked="true"]
  • #paste-button:active
  • #print-button:active
  • #reload-button:active
  • #stop-button:active
  • .messageButton
  • .messageImage
  • .messageText
  • browsermessage
  • toolbar[iconsize="small"] #bookmarks-button:active
  • toolbar[iconsize="small"] #copy-button:active
  • toolbar[iconsize="small"] #cut-button:active
  • toolbar[iconsize="small"] #downloads-button:active
  • toolbar[iconsize="small"] #history-button:active
  • toolbar[iconsize="small"] #home-button:active
  • toolbar[iconsize="small"] #mail-button
  • toolbar[iconsize="small"] #mail-button:active
  • toolbar[iconsize="small"] #mail-button[disabled="true"]
  • toolbar[iconsize="small"] #mail-button[open="true"]
  • toolbar[iconsize="small"] #new-tab-button:active
  • toolbar[iconsize="small"] #new-window-button:active
  • toolbar[iconsize="small"] #paste-button:active
  • toolbar[iconsize="small"] #print-button:active
  • toolbar[iconsize="small"] #reload-button:active
  • toolbar[iconsize="small"] #stop-button:active
  • toolbar[mode="icons"] .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-1 > .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-1 > stack > toolbarbutton > .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-icon

The following styles need to be added to your theme to be compatible with Firefox 2:

  • #back-button .toolbarbutton-menubutton-dropmarker
  • #back-button:hover
  • #back-button:hover .toolbarbutton-menubutton-dropmarker
  • #back-button:hover:active
  • #back-button:hover:active .toolbarbutton-menubutton-dropmarker
  • #back-button[buttondown="true"] > .toolbarbutton-menubutton-dropmarker
  • #back-button[buttonover="true"]
  • #back-button[buttonover="true"] > .toolbarbutton-menubutton-dropmarker
  • #back-button[disabled="true"] .toolbarbutton-menubutton-dropmarker
  • #back-button[open="true"]
  • #bookmarks-button:hover
  • #bookmarks-button:hover:active
  • #bookmarks-button[checked="true"]
  • #copy-button:hover
  • #copy-button:hover:active
  • #cut-button:hover
  • #cut-button:hover:active
  • #downloads-button:hover
  • #downloads-button:hover:active
  • #feed-button[chromedir="rtl"][feeds]:active
  • #feed-button[chromedir="rtl"][feeds]:hover
  • #feed-button[feeds]:active
  • #feed-button[feeds]:hover
  • #forward-button .toolbarbutton-menubutton-dropmarker
  • #forward-button:hover
  • #forward-button:hover .toolbarbutton-menubutton-dropmarker
  • #forward-button:hover:active
  • #forward-button:hover:active .toolbarbutton-menubutton-dropmarker
  • #forward-button[buttondown="true"] > .toolbarbutton-menubutton-dropmarker
  • #forward-button[buttonover="true"]
  • #forward-button[buttonover="true"] > .toolbarbutton-menubutton-dropmarker
  • #forward-button[disabled="true"] .toolbarbutton-menubutton-dropmarker
  • #go-button:hover
  • #go-button[chromedir="rtl"]
  • #history-button:hover:active
  • #history-button:hover:active
  • #history-button[checked="true"]
  • #home-button:hover
  • #home-button:hover:active
  • #new-tab-button:hover
  • #new-tab-button:hover:active
  • #new-window-button:hover
  • #new-window-button:hover:active
  • #paste-button:hover
  • #paste-button:hover:active
  • #print-button:hover
  • #print-button:hover:active
  • #reload-button:hover
  • #reload-button:hover:active
  • #searchbar[empty="true"] .searchbar-textbox
  • #stop-button:hover
  • #stop-button:hover:active
  • #urlbar-icons-spacer
  • #urlbar-spacer
  • #urlbar[level="high"] #lock-icon:active
  • #urlbar[level="high"] #lock-icon:hover
  • #urlbar[level="low"] #lock-icon:active
  • #urlbar[level="low"] #lock-icon:hover
  • .autocomplete-treebody::-moz-tree-cell(suggesthint)
  • .autocomplete-treebody::-moz-tree-cell-text(suggestfirst, treecolAutoCompleteComment)
  • .autocomplete-treebody::-moz-tree-cell-text(suggesthint, treecolAutoCompleteComment)
  • .bookmark-item[livemark]
  • .openintabs-menuitem
  • .toolbarbutton-icon
  • .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button:hover
  • toolbar[iconsize="small"] #back-button:hover .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button:hover:active
  • toolbar[iconsize="small"] #back-button:hover:active .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button[buttondown="true"] > .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button[buttonover="true"] > .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #back-button[disabled="true"] .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #bookmarks-button:hover
  • toolbar[iconsize="small"] #bookmarks-button:hover:active
  • toolbar[iconsize="small"] #copy-button:hover
  • toolbar[iconsize="small"] #copy-button:hover:active
  • toolbar[iconsize="small"] #cut-button:hover
  • toolbar[iconsize="small"] #cut-button:hover:active
  • toolbar[iconsize="small"] #downloads-button:hover
  • toolbar[iconsize="small"] #downloads-button:hover:active
  • toolbar[iconsize="small"] #forward-button .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #forward-button:hover
  • toolbar[iconsize="small"] #forward-button:hover .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #forward-button:hover:active
  • toolbar[iconsize="small"] #forward-button:hover:active .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #forward-button[buttondown="true"] > .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #forward-button[buttonover="true"] > .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #forward-button[disabled="true"] .toolbarbutton-menubutton-dropmarker
  • toolbar[iconsize="small"] #history-button:hover
  • toolbar[iconsize="small"] #history-button:hover:active
  • toolbar[iconsize="small"] #home-button:hover
  • toolbar[iconsize="small"] #home-button:hover:active
  • toolbar[iconsize="small"] #home-button[disabled="true"]
  • toolbar[iconsize="small"] #new-tab-button:hover
  • toolbar[iconsize="small"] #new-tab-button:hover:active
  • toolbar[iconsize="small"] #new-window-button:hover
  • toolbar[iconsize="small"] #new-window-button:hover:active
  • toolbar[iconsize="small"] #paste-button:hover
  • toolbar[iconsize="small"] #paste-button:hover:active
  • toolbar[iconsize="small"] #print-button:hover
  • toolbar[iconsize="small"] #print-button:hover:active
  • toolbar[iconsize="small"] #reload-button:hover
  • toolbar[iconsize="small"] #reload-button:hover:active
  • toolbar[iconsize="small"] #stop-button:hover
  • toolbar[iconsize="small"] #stop-button:hover:active
  • toolbarbutton.bookmark-item-microsummarized

You may need to make changes to other styles as well.

searchbar.css

The following style is no longer used in Firefox 2 and should be removed from your theme:

  • .searchbar-dropmarker

The following styles need to be added to your theme to be compatible with Firefox 2:

  • #search-container[chromedir="rtl"] .search-go-button
  • #search-container[chromedir="rtl"] .searchbar-engine-button
  • .search-go-button
  • .search-go-button:hover
  • .search-go-button:hover:active
  • .search-go-button[disabled="true"]
  • .searchbar-engine-button
  • .searchbar-engine-button:hover
  • .searchbar-engine-button[addengines="true"]
  • .searchbar-engine-button[open="true"]
  • .searchbar-engine-menuitem[selected="true"] > .menu-iconic-text
  • .searchbar-left

You may of course wish to make changes to other styles as well.

preferences/preferences.css

The following styles are no longer used in Firefox 2 and should be removed from your theme:

  • #browserStartupHomepage
  • #browserStartupHomepage
  • #paneDownloads description
  • #paneGeneral description
  • radio[pane=paneDownloads]
  • radio[pane=paneDownloads]:active

The following styles need to be added to your theme to make it compatible with Firefox 2:

  • #paneContent description
  • #paneMain description
  • #paneSecurity description
  • radio[pane=paneAdvanced]:hover
  • radio[pane=paneAdvanced][selected="true"]
  • radio[pane=paneContent]:hover
  • radio[pane=paneContent][selected="true"]
  • radio[pane=paneFeeds]
  • radio[pane=paneFeeds]:active
  • radio[pane=paneFeeds]:hover
  • radio[pane=paneFeeds][selected="true"]
  • radio[pane=paneGeneral]:hover
  • radio[pane=paneGeneral][selected="true"]
  • radio[pane=paneMain]
  • radio[pane=paneMain]:active
  • radio[pane=paneMain]:hover
  • radio[pane=paneMain][selected="true"]
  • radio[pane=panePrivacy]:hover
  • radio[pane=panePrivacy][selected="true"]
  • radio[pane=paneSecurity]
  • radio[pane=paneSecurity]:active
  • radio[pane=paneSecurity]:hover
  • radio[pane=paneSecurity][selected="true"]
  • radio[pane=paneTabs]:hover
  • radio[pane=paneTabs][selected="true"]

You may of course wish to change other styles as well.

feeds/addFeedReader.css

This is a new file in Firefox 2. It's used to skin the window displayed to add a new feed reader, which is defined in the file browser/feeds/addFeedReader.xul.

  • #imageBox
    • The box that displays the feed icon.
  • #content
    • Style information for the content area of the window.
  • #siteLabel
    • Style information for the site label.

feeds/subscribe.css

This is a new file in Firefox 2. It skins the window displayed to subscribe to an RSS feed, which is at browser/feeds/subscribe.xhtml.

  • #application
  • #feedBody
  • #feedChangeSubscribeOptions
  • #feedError
  • #feedHeader
  • #feedHeader[firstrun="true"]
  • #feedHeader[firstrun="true"] #feedIntroText
  • #feedHeader[firstrun="true"] #feedSubscribeLine
  • #feedIntroText
  • #feedSubscribeDoneChangingOptions
  • #feedSubscribeHandleText
  • #feedSubscribeHandler
  • #feedSubscribeLine
  • #feedSubscribeOptions
  • #feedSubscribeOptionsGroup
  • #feedSubscribeOptionsGroupTitle
  • #feedTitleContainer
  • #feedTitleImage
  • #feedTitleLink
  • #readerContainer
  • #readerGroup
  • #readers
  • #readers > listitem
  • .feedEntryContent
  • .feedSubscribeButton
  • .feedSubscribeButton .button-icon
  • .feedSubscribeLink
  • .feedSubscribeLinkBox
  • .field
  • .link
  • .link:hover:active
  • .plain
  • .plain > .button-box
  • .plain:focus > .button-box
  • .styleLessBorderLess

The default theme also includes styles for a[href] img, body, h1, h2, and html.

safebrowser/browser-protection.css

This file, new to Firefox 2, skins browser protection features. The following styles must be implemented to support the window that appears when the user browses to a suspected phishing site:

  • #safebrowsing-dim-area-canvas
  • #safebrowsing-page-canvas
  • #safebrowsing-palm-close
  • #safebrowsing-palm-close-container
  • #safebrowsing-palm-google-logo
  • #safebrowsing-palm-message
  • #safebrowsing-palm-message-actionbox
  • #safebrowsing-palm-message-content
  • #safebrowsing-palm-message-tail
  • #safebrowsing-palm-message-tail-container
  • #safebrowsing-palm-message-titlebox
  • .safebrowsing-palm-bigtext
  • .safebrowsing-palm-fixed-width
  • .safebrowsing-palm-paragraph
  • .safebrowsing-palm-smalltext

The following styles are used to display, in the URL bar, an indicator of whether or not the site is safe:

  • #safebrowsing-urlbar-icon
  • #safebrowsing-urlbar-icon[level="safe"]
  • #safebrowsing-urlbar-icon[level="warn"]

engineManager.css

The following style needs to be implemented. This file is new in Firefox 2.

  • #engineList treechildren::-moz-tree-image(engineName)

Changes in global

about.css

This is a new file for Firefox 2. It skins the Firefox about box, and needs to provide at least the following styles:

  • #aboutLogoContainer
  • #aboutPageContainer
  • #version

The default theme also skins the following styles: body, html, img, ul, and ul > li.

browser.css

The following styles that were used in Firefox 1.5 are no longer used in Firefox 2 and have been removed:

  • tab:focus
  • tab[beforeselected="true"] > .tab-image-right
  • tab[selected="true"] > .tab-image-left
  • tab[selected="true"] > .tab-image-middle
  • tab[selected="true"] > .tab-image-right

The following styles are new in Firefox 2:

  • .alltabs-item > .menu-iconic-left > .menu-iconic-icon
  • .alltabs-item[busy] > .menu-iconic-left > .menu-iconic-icon
  • .alltabs-item[selected="true"]
  • .tab-close-button
  • .tab-close-button > .toolbarbutton-icon
  • .tab-close-button-placeholder
  • .tab-close-button:hover
  • .tab-close-button:hover:active
  • .tabbrowser-arrowscrollbox > .scrollbutton-down
  • .tabbrowser-arrowscrollbox > .scrollbutton-down:hover
  • .tabbrowser-arrowscrollbox > .scrollbutton-up
  • .tabbrowser-arrowscrollbox > .scrollbutton-up:hover
  • .tabbrowser-tab > .tab-close-button
  • .tabbrowser-tab:not([selected="true"]) > .tab-close-button
  • .tabbrowser-tab:not([selected="true"]):hover > .tab-close-button
  • .tabbrowser-tab[selected="true"] > .tab-close-button
  • .tabbrowser-tab[selected="true"] > .tab-close-button:hover
  • .tabbrowser-tab[selected="true"] > .tab-close-button:hover:active
  • .tabbrowser-tabs[overflow="true"] .tabs-alltabs-box
  • .tabs-alltabs-box
  • .tabs-alltabs-box:hover
  • .tabs-alltabs-box[flash="true"]
  • tab > .tab-image-left
  • tab > .tab-image-middle
  • tab > .tab-image-middle > .tab-text
  • tab > .tab-image-right
  • tab:focus > .tab-image-middle > .tab-text
  • tab:hover:not([selected="true"]) > .tab-image-left
  • tab:hover:not([selected="true"]) > .tab-image-middle
  • tab:hover:not([selected="true"]) > .tab-image-right
  • tab:not([selected="true"]) > .tab-image-left
  • tab:not([selected="true"]) > .tab-image-middle
  • tab[selected="true"] .tab-image-middle > .tab-text

You may of course wish to make changes to other styles as well.

menu.css

The following style is no longer used in Firefox 2 and has been removed:

  • menulist > menupopup > menuitem[_moz-menuactive="true"]

The Firefox 2 theme also adds the following new styles:

  • .menu-iconic-icon
  • menubar > menu
  • menubar > menu[_moz-menuactive="true"][open="true"]
  • menuitem[type="checkbox"] > .menu-iconic-left
  • menuitem[type="radio"] > .menu-iconic-left

You may wish to change the definitions of other styles as well.

notification.css

This is a new file in Firefox 2. It is used for the notification bar along the top of the browser that displays messages to the user such as popup blocked, or a plugin is needed and so forth. There are three severity levels for messages, info, warning and critical. You should define the following styles:

  • .messageButton
  • .messageCloseButton
  • .messageImage
  • .messageText
  • .notification-inner
  • notification
  • notification[type="info"]
  • notification[type="warning"]
  • notification[type="critical"]

scrollbox.css

The following new styles have been added to this file for Firefox 2 themes:

  • .autorepeatbutton-down[disabled="true"]
  • .autorepeatbutton-down[orient="horizontal"]
  • .autorepeatbutton-down[orient="horizontal"][disabled="true"]
  • .autorepeatbutton-up[disabled="true"]
  • .autorepeatbutton-up[orient="horizontal"]
  • .autorepeatbutton-up[orient="horizontal"][disabled="true"]
  • .scrollbutton-down
  • .scrollbutton-down > .toolbarbutton-text
  • .scrollbutton-down[disabled="true"]
  • .scrollbutton-down[orient="horizontal"]
  • .scrollbutton-down[orient="horizontal"][disabled="true"]
  • .scrollbutton-up
  • .scrollbutton-up > .toolbarbutton-text
  • .scrollbutton-up[disabled="true"]
  • .scrollbutton-up[orient="horizontal"]
  • .scrollbutton-up[orient="horizontal"][disabled="true"]
  • toolbar[mode="icons"] .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-1 > .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-1 > stack > toolbarbutton > .toolbarbutton-text
  • toolbar[mode="text"] .toolbarbutton-icon

You may wish to change other styles as well.

Changes in mozapps

extensions/about.css

The following styles from Firefox 1.5 are no longer used in Firefox 2 and should be removed:

  • #contributorsBox
  • #creatorBox
  • #extensionContributors
  • #extensionContributors
  • #extensionCreatorLabel

The following styles were added:

  • .indent
  • .sectionTitle

You may wish to make changes to other styles as well.

extensions/update.css

The following styles are no longer used in Firefox 2 and should be removed from your theme:

  • #foundList
  • #statusbar-updates
  • .updateCategoryBox
  • .updateCategoryContent
  • .updateCategoryIcon
  • .updateCategoryLabel[selected="true"]
  • .updateIcon
  • .updateIcon[severity="0"]
  • .updateIcon[severity="1"]
  • .updateIcon[severity="2"]
  • .updateIndicator > label
  • .updateIndicator[updateCount="0"]
  • .updateItemChecked
  • .updateItemChecked .checkbox-label-box
  • .updateItemFromLabel
  • .updateItemIcon
  • .updateItemIcon
  • .updateItemName
  • .updateItemNameRow
  • .updateItemURL
  • .warning
  • radio[type="update-type"]
  • radiogroup[type="update-types"]
  • toolbarbutton[type="updates"]
  • toolbarbutton[type="updates"] > .toolbarbutton-icon
  • toolbarbutton[type="updates"][severity="0"] > .toolbarbutton-icon
  • toolbarbutton[type="updates"][severity="1"] > .toolbarbutton-icon
  • toolbarbutton[type="updates"][severity="2"] > .toolbarbutton-icon
  • toolbarbutton[type="updates"][updateCount="0"]
  • updateitem

The following styles were also added:

  • .alertBox
  • .throbber

Document Tags and Contributors

Tags: 
  • Add-ons
  • Themes
 Contributors to this page: wbamberg, ethertank, Mgjbot, Sheppy, Clkinder, Planche, Ptak82, Enn, Taken, Cameron, Nickolay
 Last updated by: wbamberg, Jan 15, 2016, 11:02:50 AM

  1. .htaccess ( hypertext access )
  2. <input> archive
  3. Add-ons
    1. Add-ons
    2. Firefox addons developer guide
    3. Interaction between privileged and non-privileged pages
    4. Tabbed browser
    5. bookmarks.export()
    6. bookmarks.import()
  4. Adding preferences to an extension
  5. An Interview With Douglas Bowman of Wired News
  6. Apps
    1. Apps
    2. App Development API Reference
    3. Designing Open Web Apps
    4. Graphics and UX
    5. Open web app architecture
    6. Tools and frameworks
    7. Validating web apps with the App Validator
  7. Archived Mozilla and build documentation
    1. Archived Mozilla and build documentation
    2. ActiveX Control for Hosting Netscape Plug-ins in IE
    3. Archived SpiderMonkey docs
    4. Autodial for Windows NT
    5. Automated testing tips and tricks
    6. Automatic Mozilla Configurator
    7. Automatically Handle Failed Asserts in Debug Builds
    8. BlackConnect
    9. Blackwood
    10. Bonsai
    11. Bookmark Keywords
    12. Building TransforMiiX standalone
    13. Chromeless
    14. Creating a Firefox sidebar extension
    15. Creating a Microsummary
    16. Creating a Mozilla Extension
    17. Creating a Release Tag
    18. Creating a Skin for Firefox/Getting Started
    19. Creating a Skin for Mozilla
    20. Creating a Skin for SeaMonkey 2.x
    21. Creating a hybrid CD
    22. Creating regular expressions for a microsummary generator
    23. DTrace
    24. Dehydra
    25. Developing New Mozilla Features
    26. Devmo 1.0 Launch Roadmap
    27. Download Manager improvements in Firefox 3
    28. Download Manager preferences
    29. Drag and Drop
    30. Embedding FAQ
    31. Embedding Mozilla in a Java Application using JavaXPCOM
    32. Error Console
    33. Exception logging in JavaScript
    34. Existing Content
    35. Extension Frequently Asked Questions
    36. Fighting Junk Mail with Netscape 7.1
    37. Firefox Sync
    38. Force RTL
    39. GRE
    40. Gecko Coding Help Wanted
    41. HTTP Class Overview
    42. Hacking wiki
    43. Help Viewer
    44. Helper Apps (and a bit of Save As)
    45. Hidden prefs
    46. How to Write and Land Nanojit Patches
    47. Introducing the Audio API extension
    48. Java in Firefox Extensions
    49. JavaScript crypto
    50. Jetpack
    51. Litmus tests
    52. Makefile.mozextension.2
    53. Microsummary topics
    54. Migrate apps from Internet Explorer to Mozilla
    55. Monitoring downloads
    56. Mozilla Application Framework
    57. Mozilla Crypto FAQ
    58. Mozilla Modules and Module Ownership
    59. Mozprocess
    60. Mozprofile
    61. Mozrunner
    62. Nanojit
    63. New Skin Notes
    64. Persona
    65. Plug-n-Hack
    66. Plugin Architecture
    67. Porting NSPR to Unix Platforms
    68. Priority Content
    69. Prism
    70. Proxy UI
    71. Remote XUL
    72. SXSW 2007 presentations
    73. Space Manager Detailed Design
    74. Space Manager High Level Design
    75. Standalone XPCOM
    76. Stress testing
    77. Structure of an installable bundle
    78. Supporting private browsing mode
    79. Table Cellmap
    80. Table Cellmap - Border Collapse
    81. Table Layout Regression Tests
    82. Table Layout Strategy
    83. Tamarin
    84. The Download Manager schema
    85. The life of an HTML HTTP request
    86. The new nsString class implementation (1999)
    87. TraceVis
    88. Treehydra
    89. URIScheme
    90. URIs and URLs
    91. Using Monotone With Mozilla CVS
    92. Using SVK With Mozilla CVS
    93. Using addresses of stack variables with NSPR threads on win16
    94. Venkman
    95. Video presentations
    96. Why Embed Gecko
    97. XML in Mozilla
    98. XPInstall
    99. XPJS Components Proposal
    100. XRE
    101. XTech 2005 Presentations
    102. XTech 2006 Presentations
    103. XUL Explorer
    104. XULRunner
    105. ant script to assemble an extension
    106. calICalendarView
    107. calICalendarViewController
    108. calIFileType
    109. xbDesignMode.js
  8. Archived open Web documentation
    1. Archived open Web documentation
    2. Browser Detection and Cross Browser Support
    3. Browser Feature Detection
    4. Displaying notifications (deprecated)
    5. E4X
    6. E4X Tutorial
    7. LiveConnect
    8. MSX Emulator (jsMSX)
    9. Old Proxy API
    10. Properly Using CSS and JavaScript in XHTML Documents
    11. Reference
    12. Scope Cheatsheet
    13. Server-Side JavaScript
    14. Sharp variables in JavaScript
    15. Standards-Compliant Authoring Tools
    16. Using JavaScript Generators in Firefox
    17. Window.importDialog()
    18. Writing JavaScript for XHTML
    19. XForms
    20. background-size
    21. forEach
  9. B2G OS
    1. B2G OS
    2. Automated Testing of B2G OS
    3. B2G OS APIs
    4. B2G OS add-ons
    5. B2G OS architecture
    6. B2G OS build prerequisites
    7. B2G OS phone guide
    8. Building B2G OS
    9. Building and installing B2G OS
    10. Building the B2G OS Simulator
    11. Choosing how to run Gaia or B2G
    12. Customization with the .userconfig file
    13. Debugging on Firefox OS
    14. Developer Mode
    15. Developing Firefox OS
    16. Firefox OS Simulator
    17. Firefox OS apps
    18. Firefox OS board guide
    19. Firefox OS developer release notes
    20. Firefox OS security
    21. Firefox OS usage tips
    22. Gaia
    23. Installing B2G OS on a mobile device
    24. Introduction to Firefox OS
    25. Mulet
    26. Open web apps quickstart
    27. Pandaboard
    28. PasscodeHelper Internals
    29. Porting B2G OS
    30. Preparing for your first B2G build
    31. Resources
    32. Running tests on Firefox OS: A guide for developers
    33. The B2G OS platform
    34. Troubleshooting B2G OS
    35. Using the App Manager
    36. Using the B2G emulators
    37. Web Bluetooth API (Firefox OS)
    38. Web Telephony API
    39. Web applications
  10. Beginner tutorials
    1. Beginner tutorials
    2. Creating reusable content with CSS and XBL
    3. Underscores in class and ID Names
    4. XML data
    5. XUL user interfaces
  11. Case Sensitivity in class and id Names
  12. Creating a dynamic status bar extension
  13. Creating a status bar extension
  14. Gecko Compatibility Handbook
  15. Getting the page URL in NPAPI plugin
  16. Index
  17. Inner-browsing extending the browser navigation paradigm
  18. Install.js
  19. JXON
  20. List of Former Mozilla-Based Applications
  21. List of Mozilla-Based Applications
  22. Localizing an extension
  23. MDN
    1. MDN
    2. Content kits
  24. MDN "meta-documentation" archive
    1. MDN "meta-documentation" archive
    2. Article page layout guide
    3. Blog posts to integrate into documentation
    4. Current events
    5. Custom CSS classes for MDN
    6. Design Document
    7. DevEdge
    8. Developer documentation process
    9. Disambiguation
    10. Documentation Wishlist
    11. Documentation planning and tracking
    12. Editing MDN pages
    13. Examples
    14. Existing Content/DOM in Mozilla
    15. External Redirects
    16. Finding the right place to document bugs
    17. Getting started as a new MDN contributor
    18. Landing page layout guide
    19. MDN content on WebPlatform.org
    20. MDN page layout guide
    21. MDN subproject list
    22. Needs Redirect
    23. Page types
    24. RecRoom documentation plan
    25. Remove in-content iframes
    26. Team status board
    27. Trello
    28. Using the Mozilla Developer Center
    29. Welcome to the Mozilla Developer Network
    30. Writing chrome code documentation plan
    31. Writing content
  25. MMgc
  26. Makefile - .mk files
  27. Marketplace
    1. Marketplace
    2. API
    3. Monetization
    4. Options
    5. Publishing
  28. Mozilla release FAQ
  29. Newsgroup summaries
    1. Newsgroup summaries
    2. Format
    3. Mozilla.dev.apps.firefox-2006-09-29
    4. Mozilla.dev.apps.firefox-2006-10-06
    5. mozilla-dev-accessibility
    6. mozilla-dev-apps-calendar
    7. mozilla-dev-apps-firefox
    8. mozilla-dev-apps-thunderbird
    9. mozilla-dev-builds
    10. mozilla-dev-embedding
    11. mozilla-dev-extensions
    12. mozilla-dev-i18n
    13. mozilla-dev-l10n
    14. mozilla-dev-planning
    15. mozilla-dev-platform
    16. mozilla-dev-quality
    17. mozilla-dev-security
    18. mozilla-dev-tech-js-engine
    19. mozilla-dev-tech-layout
    20. mozilla-dev-tech-xpcom
    21. mozilla-dev-tech-xul
    22. mozilla.dev.apps.calendar
    23. mozilla.dev.tech.js-engine
  30. Obsolete: XPCOM-based scripting for NPAPI plugins
  31. Plugins
    1. Plugins
    2. Adobe Flash
    3. External resources for plugin creation
    4. Logging Multi-Process Plugins
    5. Monitoring plugins
    6. Multi-process plugin architecture
    7. NPAPI plugin developer guide
    8. NPAPI plugin reference
    9. Samples and Test Cases
    10. Shipping a plugin as a Toolkit bundle
    11. Supporting private browsing in plugins
    12. The First Install Problem
    13. Writing a plugin for Mac OS X
    14. XEmbed Extension for Mozilla Plugins
  32. SAX
  33. Security
    1. Security
    2. Digital Signatures
    3. Encryption and Decryption
    4. Introduction to Public-Key Cryptography
    5. Introduction to SSL
    6. NSPR Release Engineering Guide
    7. SSL and TLS
  34. Solaris 10 Build Prerequisites
  35. Sunbird Theme Tutorial
  36. Table Reflow Internals
  37. Tamarin Tracing Build Documentation
  38. The Basics of Web Services
  39. Themes
    1. Themes
    2. Building a Theme
    3. Common Firefox theme issues and solutions
    4. Creating a Skin for Firefox
    5. Making sure your theme works with RTL locales
    6. Theme changes in Firefox 2
    7. Theme changes in Firefox 3
    8. Theme changes in Firefox 3.5
    9. Theme changes in Firefox 4
  40. Updating an extension to support multiple Mozilla applications
  41. Using IO Timeout And Interrupt On NT
  42. Using SSH to connect to CVS
  43. Using workers in extensions
  44. WebVR
    1. WebVR
    2. WebVR environment setup
  45. XQuery
  46. XUL Booster
  47. XUL Parser in Python

 
See also
  1. WebExtensions
  2. Getting started
    1. What are WebExtensions?
    2. Your first WebExtension
    3. Your second WebExtension
    4. Anatomy of a WebExtension
    5. Example WebExtensions
  3. How to
    1. Intercept HTTP requests
    2. Modify a web page
    3. Add a button to the toolbar
    4. Implement a settings page
  4. User interface
    1. Introduction
    2. Toolbar button
    3. Address bar button
    4. Sidebar
    5. Context menu items
    6. Options page
    7. Bundled web pages
    8. Notifications
    9. Address bar suggestions
    10. Developer tools panels
  5. Concepts
    1. Using the JavaScript APIs
    2. Content scripts
    3. Match patterns
    4. Internationalization
    5. Content Security Policy
    6. Native messaging
  6. Porting
    1. Porting a Google Chrome extension
    2. Porting a legacy Firefox add-on
    3. Embedded WebExtensions
    4. Comparison with the Add-on SDK
    5. Comparison with XUL/XPCOM extensions
    6. Chrome incompatibilities
  7. Firefox workflow
    1. Temporary Installation in Firefox
    2. Debugging
    3. Getting started with web-ext
    4. web-ext command reference
    5. WebExtensions and the Add-on ID
    6. Publishing your WebExtension
  8. JavaScript APIs
    1. Browser support for JavaScript APIs
    2. alarms
    3. bookmarks
    4. browserAction
    5. browsingData
    6. commands
    7. contextMenus
    8. contextualIdentities
    9. cookies
    10. devtools.inspectedWindow
    11. devtools.network
    12. devtools.panels
    13. downloads
    14. events
    15. extension
    16. extensionTypes
    17. history
    18. i18n
    19. identity
    20. idle
    21. management
    22. notifications
    23. omnibox
    24. pageAction
    25. permissions
    26. privacy
    27. proxy
    28. runtime
    29. sessions
    30. sidebarAction
    31. storage
    32. tabs
    33. topSites
    34. types
    35. webNavigation
    36. webRequest
    37. windows
  9. Manifest keys
    1. applications
    2. author
    3. background
    4. browser_action
    5. chrome_settings_overrides
    6. chrome_url_overrides
    7. commands
    8. content_scripts
    9. content_security_policy
    10. default_locale
    11. description
    12. developer
    13. devtools_page
    14. homepage_url
    15. icons
    16. incognito
    17. manifest_version
    18. name
    19. omnibox
    20. optional_permissions
    21. options_ui
    22. page_action
    23. permissions
    24. protocol_handlers
    25. short_name
    26. sidebar_action
    27. version
    28. web_accessible_resources
  10. Add-on SDK
  11. Getting started
    1. Installation
    2. Getting started
    3. Troubleshooting
  12. High-Level APIs
    1. addon-page
    2. base64
    3. clipboard
    4. context-menu
    5. hotkeys
    6. indexed-db
    7. l10n
    8. notifications
    9. page-mod
    10. page-worker
    11. panel
    12. passwords
    13. private-browsing
    14. querystring
    15. request
    16. selection
    17. self
    18. simple-prefs
    19. simple-storage
    20. system
    21. tabs
    22. timers
    23. ui
    24. url
    25. webextension
    26. widget
    27. windows
  13. Low-Level APIs
    1. /loader
    2. chrome
    3. console/plain-text
    4. console/traceback
    5. content/content
    6. content/loader
    7. content/mod
    8. content/symbiont
    9. content/worker
    10. core/heritage
    11. core/namespace
    12. core/promise
    13. dev/panel
    14. event/core
    15. event/target
    16. frame/hidden-frame
    17. frame/utils
    18. fs/path
    19. io/byte-streams
    20. io/file
    21. io/text-streams
    22. lang/functional
    23. lang/type
    24. loader/cuddlefish
    25. loader/sandbox
    26. net/url
    27. net/xhr
    28. places/bookmarks
    29. places/favicon
    30. places/history
    31. platform/xpcom
    32. preferences/event-target
    33. preferences/service
    34. remote/child
    35. remote/parent
    36. stylesheet/style
    37. stylesheet/utils
    38. system/child_process
    39. system/environment
    40. system/events
    41. system/runtime
    42. system/unload
    43. system/xul-app
    44. tabs/utils
    45. test/assert
    46. test/harness
    47. test/httpd
    48. test/runner
    49. test/utils
    50. ui/button/action
    51. ui/button/toggle
    52. ui/frame
    53. ui/id
    54. ui/sidebar
    55. ui/toolbar
    56. util/array
    57. util/collection
    58. util/deprecate
    59. util/list
    60. util/match-pattern
    61. util/object
    62. util/uuid
    63. window/utils
  14. Firefox for Android
  15. Getting started
    1. Walkthrough
    2. Debugging
    3. Code snippets
  16. APIs
    1. Accounts.jsm
    2. BrowserApp
    3. HelperApps.jsm
    4. Home.jsm
    5. HomeProvider.jsm
    6. NativeWindow
    7. Notifications.jsm
    8. PageActions.jsm
    9. Prompt.jsm
    10. RuntimePermissions.jsm
    11. Snackbars.jsm
    12. Sound.jsm
    13. Tab
  17. Legacy
  18. Restartless extensions
    1. Overview
  19. Overlay extensions
    1. Overview
  20. Themes
  21. Lightweight themes
    1. Overview
  22. Complete themes
    1. Overview
  23. Publishing add-ons
  24. Guides
    1. Signing and distribution overview
    2. Submit an add-on
    3. Review policies
    4. Developer agreement
    5. Featured add-ons
    6. Contact addons.mozilla.org
  25. Community and support
  26. Channels
    1. Add-ons blog
    2. Add-on forums
    3. Stack Overflow
    4. Development newsgroup
    5. IRC Channel