Jump to content

Archived

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

mtaus

Adding custom CSS to single page template

Recommended Posts

mtaus+    5
mtaus

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
greenfly    230
greenfly

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

.page-id-xxx 

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
mtaus+    5
mtaus
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?

Thanks!

Share this post


Link to post
Share on other sites
Danny    1,327
Danny

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

    • 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?
      Thanks
      Michael 
    • wyo22ski
      By wyo22ski+
      Hello,
       
      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 
    • Objectif-Mariage
      By Objectif-Mariage+
      Hello. 
      I have just realized that CSS (Less plugin) , is not working..... I have disable all plugins (except PL CUSTOM LESS and PL5) , and ... it's not working ... 
      It's not the first time. Usually I had trouble with a plugin name Autoptimize , but it's Desactivate now , all memory have been purge, and it's still not working! :-/ So it's not from this plugin. 
      NB : When I am logged on my website, if i go on the black wordpress dashboard bar, go on the PL icon, clic on </> LESS/CSS => then the page suddenly apply the CSS .... But As soon that i reload the page, nothing. I think the problem is that the plugin LESS/CSS does not load properly (if I can say that with my simples words).
      I order to keep the site "good looking" I have temporally copy/paste all my LESS code in a plugin : Script n Styles that apply the LESS/CSS code... but it's not a solution for long time.
      Can someone help me ? Did I do something wrong ? Is it an update ? 
       
      my website : https://www.wedding-photography-minneapolis.com
    • Jason
      By Jason+
      Feel free to delete this post if its not helpful or its just plain wrong.
       
      I though it might be useful to share how I customize the size of the builder. (reduce my eyestrain )
      1 - install stylerbot extension in chrome (stylerbot keeps this css every time you access the url)
       
      2- add this css to stylerbot for the site you are working on
      .CodeMirror {
          font-size: 14px;
          height: 600px;
      }
      .pl-workarea.pl-has-sidebar .pl-workarea-sidebar-container {
          right: 0px;
          width: 500px;
      }
      .pl-workarea.pl-has-sidebar .iframe-container {
          right: 500px ;
      }
       
      change sizes to suit.
       
      Cheers.
    • Jason
      By Jason+
      Hi.
      I can't seem to get the Teamwork section to accept custom css. I am trying to change the padding from 7em to 1em on the splash part
      I have tried
        .pl-sn-teamwork .pl-tw-splash {
          padding-top: 1em;
          padding-bottom: 1em;
        }
       
      This works in chrome inspect but when added to custom css nothing happens.
      I have also tried most of the classes I can see accoiated with this section but again nothng seems to happen.
      Any ideas?
×