Jump to content


This topic is now archived and is closed to further replies.


Adding custom CSS to single page template

Recommended Posts


I'm building a careers page using a 3rd party plugin. I'd like to add a separate external style sheet to this page template because the styles are fairly voluminous and they don't apply to other pages.


Is that possible? Any other suggestions?

Share this post

Link to post
Share on other sites

You can add page specific CSS by prefixing your CSS by using


Replace xxx with the ID of your page found in the Visual Editor > page setup. 

The answer to many issues can be found by searching in the forum before posting as someone else  may very well have had the same problem before you have.  Also, reading the documentation can help you gain a good understanding of how everything works. 


Please do not send me private messages. Occam's razor - The principle states "Keep things simple!"

Share this post

Link to post
Share on other sites
Martin Davies thanks for the pointer, but I'm not entirely sure what you're suggesting? Are you saying I should add this in the custom CSS panel? Can you show me an example? Will this prevent that CSS from loading on other pages?


Share this post

Link to post
Share on other sites

WordPress includes special classes that are assigned to the body tag. These special classes are dynamic as they're different on what page you're viewing on your WordPress site. For example,


if you view a category, the body class will have a category class for that category

if you view a post, it will have a unique class for that post, the same applies to pages etc...


You can use these classes to add individual styling for posts, pages, blog, category, archive and so forth. As Martin mentioned above, if you inspect your page using Google Chrome's dev tools, you will see a number of a classes in the body tag of your page/post.

It will look something like this page-id-41 (your id will be different most likely, so instead of 41 you will see a different value).


Now what you can do with this, is prefix your custom CSS with that class and this will allow you to add individual styling for that page or post.


For example, let's imagine you want to have a pink h1 on your about page. What you will need to do is go to your About page, then inspect the page using Chrome's dev tools and get the ID for that page.


Then use that in your code like so.


.page-id-666 h1 { color: pink; }


You can use the same principle for sections or sidebars. For example, lets say you want to give the Masthead sections title a unique color for your Contact us page. Again you inspect the page using dev tools, find the page id and use that class as a prefix in your CSS.


.page-id-123 .section-masthead h1 { color: #428BCA; }


This will give the Masthead sections title a bluish color for that page and that page alone.


Please search our forums, before posting!

Share this post

Link to post
Share on other sites

  • Similar Content

    • chamois_blanc
      By chamois_blanc+
      Shouldn't the image PL5 component be using the srcset/picture css directives to pick the correct size for an image? or it does already and I don't know how to use it? Thank you for any advice or enlightenment.
    • Dan Haddock
      By Dan Haddock
      Plugins Active and installed: 
      Akismet Anti-Spam
      Coming Soon Page & Maintenance Mode by SeedProd
      Contact Form 7
      Cookie Law Info
      DMS Professional Tools  
      Enhanced Media Library  
      Google Analytics for WordPress by MonsterInsights
      Google XML Sitemap
      Jetpack by WordPress.com
      MailChimp for WordPress
      PageLines Updater    
      Schema App Structured Data 
      Sucuri Security - Auditing, Malware Scanner and Hardening
      Uber reCaptcha    
      Yoast SEO
      Wordpress Version: 4.8.1
      Pagelines Version: 2.2.4
      Good Evening/Afternoon or Morning, 
      I am running into a problem with CSS styling not applying inside of most browsers (Safari, Firefox) when I am logged in to wordpress, and all browsers that I have tested when I am logged off and the site has been made public (Chrome, Firefox and Safari).
      As a result, I have managed to identify the probable cause. It looks as though these browsers are refusing to render my sites compiled CSS file due to it being a HTTP URL rather than HTTPS.
      I have attempted to change this URL to HTTPS in my browser, however it brings back an ERROR: File not found page - https://www.shortfilmblog.com/wp-content/uploads/pagelines/compiled-css-core-1505847507.css
      What would you suggest in this regard? Would this be resolvable from your end?
      Happy to provide any further details required.
    • Borries
      By Borries+
      I know this is not an easy problem. Maybe there is a easy solution.
      I have tryed to uses the existing solution, that I have found in the forum
      I changed the colours of my nav (simple nav) and the hover effect (a. hover).
      I really tryed to highlight the active/used link in the nav but I cant figure it out.
      I want it to be black when active.
      Any help would be appreciated. Thanks.
      http://www.marcborries.de  nav link: "Sinn & Selbst" 
    • Michael Kummer
      By Michael Kummer+
      Hi guys,
      every since Chrome introduce scroll anchoring (see chrome://flags) blog posts on my page start scroll automatically as soon as the user scrolls down a bit. It is super annoying and I don't know exactly what triggers the incompatibility with Chrome's latest feature that is supposed to improve usability.
      Since I don't know what causes it (Pagelines, or a Plugin), I would like to disable the feature using a CSS override that Google describes as follow:
      "Scroll anchoring aims to be the default mode of behavior when launched, so that users benefit from it even on legacy content. A CSS property overflow-anchor can disable scroll anchoring in part or all of a webpage (opt out), or exclude portions of the DOM from the anchor node selection algorithm. This property supports the following values when applied to an element E:
      overflow-anchor: auto (the default value) declares that the DOM subtree rooted at E is eligible to participate in the anchor node selection algorithm for any scrolling box created by E or an ancestor of E. overflow-anchor: none declares that the DOM subtree rooted at E is not eligible to participate in the anchor node selection algorithm for any scrolling box created by E or an ancestor of E." Do you guys happen to know how to use that property with the ROOT element so it applies to the whole page?
    • wyo22ski
      By wyo22ski+
      I'm basically a designer and understand a little on how to change CSS, etc., so please excuse my ignorance...  I recently upgraded to the newest platform from the DMS and my old DMS theme no longer functions.  I'm trying to replace the image slider that my Horizon Photography Theme (Nick Haskins) had created.  The Impulse image slider seemed the closest to what I need, but there are problems.
      It seems the the Impulse section for sliding images defaults to the image width, no the height.  I can change the Impulse stage height and width, but this does nothing to the internal content.  For instance, if I change the height to 200 pixels, the image remains the full width and only shows a cropped section.  I would like the ability to change the Impulse height, and have the image height fit space. 
      I've put this custom CSS in, but again, this only controls the stage height of Impulse:
      .pl-sn-impulse .pl-impulse-cell .cell-wrap, .pl-impulse-container, .owl-stage-outer {
        width: 100%;
      Any suggestions welcome.  Thanks