Introduction
Welcome to part 2 of this 2-Part tutorial where we learn how to mashup RSS feeds with Yahoo Pipes and style them with CSS. If you haven’t already, you can check out Part 1 of this tutorial here.
By default, Yahoo Pipes inherits the CSS stylesheet from your website. But in this tutorial, we are going to dive deep and take a close look at the CSS stylesheet for the Yahoo Pipe so we can completely customize it to the max. We will examine each “div” and what CSS properties it controls for the Yahoo Pipe.
Yahoo Pipes Badge Documentation
The Yahoo Pipes badge documentation is a good start for styling your Pipe, but it uses inline styling. Instead, we are going to edit the direct CSS sheet that controls all the elements of a Pipe in this tutorial.
Yahoo Pipes RSS Mashup
We are going to be working on the CSS stylesheet for our “Internet Marketing Super Feed” Yahoo Pipe that we created in Part 1 of this tutorial. Here is the code for it:
<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">
{"pipe_id":"8cf4202441470398ea665ec175e73c6c",
"_btype":"list"}</script>
Download The Yahoo Pipes CSS Stylesheet
To start, you’ll have to download the CSS stylesheet for Yahoo Pipes here. There are two versions available:
The first stylesheet is for users who are new to CSS – CSS Rookies. This stylesheet includes comments beside every CSS class and property.
The second stylesheet is for advanced CSS users – CSS All-Stars. This stylesheet only includes comments beside the classes.
Setup Your Yahoo Pipes Stylesheet
1. Download the CSS Stylesheet above.
2. Create a blank HTML page in the same folder as your CSS stylesheet.
3. Add a link to the stylesheet in the header section like so:
<link href="pipesstyle_ENTER_VERSION.css"
rel="stylesheet" type="text/css">
4. Add the Yahoo Pipes script to the body of the page like so:
<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">
{"pipe_id":"8cf4202441470398ea665ec175e73c6c",
"_btype":"list"}</script>
5. Surround the entire script with the div “pipestyle” like so:
<div class=pipesstyle”>
<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">
{"pipe_id":"8cf4202441470398ea665ec175e73c6c",
"_btype":"list"}</script>
</div>
That’s it! You’re ready to begin styling your RSS feeds with Yahoo Pipes and CSS!
Examining The CSS Code For Yahoo Pipes
| What Is Controled In The Yahoo Pipe | CSS Class |
|---|---|
| Loading screen for the pipe | |
| The loading screen (what shows up before a pipe has loaded) | div.pipesstyle div.Pbajaxwait |
| Body of the pipe | |
| Body of the pipe | div.pipesstyle |
| h3 header for the pipe | |
| Title of the pipe | div.pipesstyle h3.ybh |
| Hyperlink for the pipe title (will only display if your pipe is published) | div.pipesstyle a.ybt |
| Content of the pipe | |
| Behind the scenes, placeholder for your entire pipe | div.pipesstyle div.ybx |
| All of the pipe text | div.pipesstyle div.pipesText |
| All unordered lists in the pipe | div.pipesstyle ul |
| All links in the pipe | div.pipesstyle a |
| Results of the pipe | |
| Result’s title | div.pipesstyle div.pipesImgdescription div.pipesTitle |
| Descriptions in the pipe | div.pipesstyle div.pipesImgdescription |
| Font size for the description | div.pipesstyle div.pipesImgdescription div.pipesDescription |
| Padding of results within the pipe | div.pipesstyle div.pipesHolder |
| Results of the pipe | div.pipesstyle div.ybr |
| All individual results | div.pipesstyle div.ybr li.ybi |
| Background color of odd results | div.pipesstyle div.ybr li.ybi.odd |
| Images in the pipe | |
| Image thumbnail placeholders | div.pipesstyle div.pipesImgdescription div.pipesThumbnail |
| Image thumbnails | div.pipesstyle div.pipesImgdescription div.pipesThumbnail img |
| Placeholder surrounding all small thumbnails at the bottom of a result | div.pipesstyle ul.pipesSmallthumb |
| Placeholders for individual small thumbnails at the bottom of a result | div.pipesstyle ul.pipesSmallthumb li |
| Small thumbnails at the bottom of a result | div.pipesstyle ul.pipesSmallthumb li a img |
| Color of the border when you hover over a small thumbnail | div.pipesstyle ul.pipesSmallthumb li:hover |
| Footer of the pipe | |
| The footer | div.pipesstyle div.ybf |
| Footer text in the pipe | div.pipesstyle div.ybad |
| Pipes logo in the footer | div.pipesstyle a.yba |
| “Y! Pipes” in the footer | div.pipesstyle a.ybaa |
| The little “TM” (trademark symbol) after “Powered by Y! Pipes” in the footer | div.pipesstyle sup.ybas |
| The “Get This” in the footer (will only display if your pipe is published) | div.pipesstyle a.gt |
| The “>>” after “Get This” in the footer (will only display if your pipe is published) | div.pipesstyle div.gts |
Note: For whatever reason, there seems to be a bug with the “height” property for Yahoo Pipes. The only I way I found to override this was to use inline styling like this:
<script src="http://l.yimg.com/a/i/us/pps/listbadge_1.4.js">
{"pipe_id":"8cf4202441470398ea665ec175e73c6c",
"_btype":"list",
"height" : "500px"
}</script>
Conclusion:
In this 2 Part Tutorial, we learned how to create an RSS mashup with Yahoo Pipes in Part 1, and style it using CSS in Part 2. Now your Yahoo Pipe can take on a whole new life of its own without being restricted to your normal stylsheet. I hope you enjoyed this lesson from the Pipes Tutorial!


Follow the directions and it works like a charm. The maker of this style should include it on Yahoo’s documentation.
This is by far the best piece of a Yahoo Pipes style guide I’ve seen. Here’s how I styled mine.
{“pipe_id” : “d74af026e4ecad8053789c271688fed3″,”_btype”:”list”,
“width” : “250px”,
“height” : “480px”,
“backgroundColor” : “#1c2b33″,
“color” : “#FFF”,
“hideHeader” : “true”,
“hideFooter” : “true”,
“descriptionColor” : “#c7c7c7″,
“evenBackgroundColor” : “#1c2b33″,
“oddBackgroundColor” : “#1c2b33″,
“headerBackgroundColor” : “#1c2b33″,
“border” : “1px solid #506371″,
“containerPadding” : “7px”,
}
/*
Yahoo Pipes CSS Style Sheet For RSS Badges
Author: Pipes Tutorial
Version: 1.0
Learn how to use Yahoo Pipes with the Pipes Tutorial at:
http://pipestutorial.com
*/
/* Loading screen for the Yahoo Pipe*/
/* the loading screen (what shows up before a pipe has loaded) */
div.pipesstyle div.PBajaxwait {
position: relative; /* controls the position of the loading screen */
display: block; /* controls how the loading screen displays */
width: 100%; /* width of the loading screen */
height: 100%; /* height of the loading screen */
margin-top: -0; /* margin around the loading screen */
background: #eee url(‘http://l.yimg.com/us.yimg.com/i/us/pps/logo_ani_1.gif’) 50% 50% no-repeat; /* the animiated gif and background color that displays while the pipe is loading */
opacity: 0.75; /* opacity of the loading screen */
filter: alpha(opacity=75); /* controls special effects for text. only works in IE */
}
/* Body of the Yahoo Pipe */
/* the body of your Pipe */
div.pipesstyle {
position: undefined; /* controls the position of the pipe in relation to its normal position */
width: 250px; /* controls the width of the entire pipe – I set it to 250px */
height: 470px; /* only adjusts the height surrounding the pipe (in Firefox 3.6.10). (doesn’t get rid of scrollbar). the height issue is buggy depending on the browser you use. use inline styling to override. */
background-color: #1c2b33; /* the two strips above and below the pipe */
font-family:Arial, Helvetica, sans-serif; /* choose the font for your pipe */
margin: 20px 0px 20px 0px; /* adjust the margin surrounding the pipe */
padding: 0px; /* adjust the padding surrounding the pipe */
}
/* h3 Header for the Pipe */
/* controls the title of the pipe – This has been overridden by in-line styling I put in the javascript tags*/
div.pipesstyle h3.ybh {
margin: 0; /* margin around the pipe title */
padding: 0; /* padding around the pipe title */
font-weight: bold; /* font weight of the pipe title */
background-color: undefined; /* color behind the pipe title */
}
/* controls the hyperlink for the pipe title (will only display if your pipe is published) */
div.pipesstyle a.ybt {
font-weight: bold; /* font weight of the hyperlink for the pipe title */
color: undefined; /* color of the hyperlink for the pipe title */
}
/* Content of the Yahoo Pipe */
/* behind the scenes, placeholder for your entire pipe */
div.pipesstyle div.ybx {
visibility: hidden; /* controls the visibility of the pipes placeholder */
background-color: #1c2b33; /* controls the color behind the pipes results */
margin: 10px 5px 7px 10px; /* margin around the pipes placeholder */
padding: 0; /* padding around the pipes placeholder */
position: relative; /* position of the pipes placeholder */
}
/* controls all of the pipe text */
div.pipesstyle div.pipesText {
zoom: 0; /* magnification of the pipe text – I set it to zero with no effect*/
margin-left: 0px; /* margin surrounding the pipe text */
color: #c7c7c7; /* color of the pipe text */
}
/* controls all unordered lists in the pipe */
div.pipesstyle ul {
display: block; /* controls how unordered lists in the pipe are displayed */
overflow: hidden; /* controls what happens if an unordered list overflows outside the margins */
position: relative; /* position of an unordered list */
width: 300000px; /* width of the unordered list */
z-index: 2; /* z-index of the unordered list */
padding: 0; /* padding around the unordered list */
margin: auto; /* margin around the unordered list */
}
/* controls all links in the pipe */
div.pipesstyle a {
cursor: hand; /* controls the cursor type when hovering over a link in the pipe */
text-decoration: none; /* text decoration for all links in the pipe */
color: #01a0f4; /* color of all links in the pipe */
}
/* Results of the Yahoo Pipe */
/* controls the result’s title */
div.pipesstyle div.pipesImgdescription div.pipesTitle {
font-family: Arial, Helvetica, sans-serif;
font-size:15px; /* font size of the result’s title */
font-weight:bold; /* font weight of the result’s title */
line-height:15px;
letter-spacing:normal;
text-align:left;
font-style:normal;
font-variant:normal;
color:#01a0f4;
text-decoration:none;
text-transform:none;
padding-bottom: 3px; /* padding for the bottom of the result’s title */
width: 100%; /* width of the title. if decreased, the title will be pushed onto the next line */
}
/* controls the descriptions in your pipe */
div.pipesstyle div.pipesImgdescription {
display: block; /* how the pipe results are displayed */
width: 100%; /* adjust the width of the results within the pipe */
height: 100%; /* doesn’t work, but width does */
color: #c7c7c7; /* font color for the descriptions */
}
/* font size for the description */
div.pipesstyle div.pipesImgdescription div.pipesDescription {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px; /* font size for the description */
line-height:15px;
letter-spacing:normal;
text-align:left;
font-style:normal;
font-variant:normal;
}
/* padding of results within the pipe */
div.pipesstyle div.pipesHolder {
padding: 5px 5px 10px 5px /* padding of results within the pipe */
}
/* controls the results of the pipe */
div.pipesstyle div.ybr {
position: relative; /* controls the position of the results */
display: block; /* controls how the results are displayed */
font-size: 14px; /* font size for result titles and descriptions in the results*/
margin: 3px 0 0 0; /* margin between the pipes title and the results of the pipe */
padding: 0pt; /* padding between the results and the edge of the pipe placeholder */
width: 100%; /* controls the width of the entire pipe */
height: 100%; /* doesn’t seem to work. (doesn’t get rid of scrollbar). use inline styling to override */
overflow: auto; /* controls the overflow of the results */
overflow-x: hidden; /* controls the width of the results if they go outside the pipe */
}
/* background color of odd results */
div.pipesstyle div.ybr li.ybi.odd {
background-color: #1c2b33; /* background color of odd results */
}
/* controls the individual results */
div.pipesstyle div.ybr li.ybi {
background-color: #1c2b33; /* background color of even results */
margin: 0; /* margin around each result */
padding: 5px 5px 0px 0px; /* padding around each result */
list-style: none; /* controls the list style of each result */
list-style-position: outside; /* controls the list style position of each result */
overflow: hidden; /* controls what happens if a result overflows outside the margins */
text-indent: 0; /* indents the result title and first line of the description */
}
/* Images in the Yahoo Pipe */
/* controls the image thumbnail placeholder */
div.pipesstyle div.pipesImgdescription div.pipesThumbnail {
position: relative; /* position of the image thumbnail */
float: left; /* placement of the image thumbnail */
margin-bottom: 3px; /* margin below the image thumbnail */
}
/* controls the image thumbnail */
div.pipesstyle div.pipesImgdescription div.pipesThumbnail img {
position: static; /* position of the image thumbnail */
width: 50px; /* width of the image thumbnail */
height: 50px; /* height of the image thumbnail */
border: 1px solid #eee; /* border around the image thumbnail */
}
/* controls the placeholder surrounding all small thumnails at the bottom of a result */
div.pipesstyle ul.pipesSmallthumb {
margin: 10px 0 0; /* margin between the small thumbnails and description */
padding: 0; /* padding between the small thumbnails and description */
width: auto; /* width that the small thumbnails should span */
}
/* controls the placeholders for individual small thumbnails at the bottom of a result */
div.pipesstyle ul.pipesSmallthumb li {
border: 1px solid #eee; /* border around the small thumbnail */
display: block; /* position of the small thumbnail placeholder */
float: left; /* placement of the small thumbnail */
height: 32px; /* height of the small thumbnail placeholder */
list-style-image: none; /* controls what happens if the small thumbnail can’t be displayed */
list-style-position: outside; /* controls the display of the list marker */
list-style-type: none; /* controls the type of list marker */
overflow: hidden; /* controls what happens if there are too many small thumbnails */
padding: 2px; /* padding around the small thumbmail placeholder */
width: 32px; /* width of the small thumbnail placeholder */
}
/* controls the small thumbnails at the bottom of a result */
div.pipesstyle ul.pipesSmallthumb li a img {
height: 32px; /* height of the small thumbnail */
width: 32px; /* width of the small thumbnail */
cursor: pointer; /* controls the cursor type when hovering over a small thumbnail */
border: 0px; /* border on the inside of the small thumbnail */
position: static; /* position of the small thumbnail */
left: inherit; /* left edge of the small thumbnail in relation to the pipe */
right: inherit; /* right edge of the small thumbnail in relation to the pipe */
}
/* the color of the border when you hover over a small thumbnail */
div.pipesstyle ul.pipesSmallthumb li:hover {
border: 1px solid #999; /* the color of the border when you hover over a small thumbnail */
}
/* Footer of the Yahoo Pipe */
/* controls the footer */
div.pipesstyle div.ybf {
display: none; /* controls how the footer is displayed */
width: 100%; /* width of the footer */
background-color: #1c2b33; /* controls the footer background color */
height: 0px; /* height of the footer */
margin: 0; /* margin around the footer */
padding: 0; /* padding around the footer */
position: relative; /* position of the footer */
}
/* controls the footer text in the pipe */
div.pipesstyle div.ybad {
display: inline; /* controls how the footer displays */
height: 0px; /* height of the footer */
font-size: 0px; /* font size of the footer */
font-weight: bold; /* weight of the footer text */
line-height: 0px; /* line height of the footer */
color: inherit; /* controls the color of the footer text */
}
/* controls the pipes logo in the footer */
div.pipesstyle a.yba {
background: transparent url(”) 0 0 no-repeat; /* the pipes logo background image – you could put a trident inside the ” include the full URL */
_background-image: url(”); /* the pipes logo – you could put a trident inside the ” include the full URL*/
float: left; /* placement of the pipes logo */
height: 16px; /* height surrounding the pipes logo */
margin: 3px 0 0 3px; /* margin around the pipes logo */
width: 0px; /* width around the pipes logo */
}
/* “Y! Pipes” in the footer */
div.pipesstyle a.ybaa {
color: #1c2b33; /* controls the color of “Y! Pipes” */
text-decoration: none; /* controls the text decoration for “Y! Pipes” */
}
/* the little “TM” (trademark symbol) after “Powered by Y! Pipes” in the footer */
div.pipesstyle sup.ybas {
font-size: 0px; /* font size for the trademark symbol */
color: #1c2b33; /* controls the color of the trademark symbol */
}
/* controls “Get This” in the footer (will only display if your pipe is published) */
div.pipesstyle a.gt {
position: absolute; /* position of “Get This” */
height: 16px; /* height surrounding “Get This” */
display: inline; /* controls how “Get This” is displayed */
color: inherit; /* color of “Get This” */
font-size: 9px; /* font size of “Get This” */
font-weight: bold; /* font weight of “Get This” */
line-height: 22px; /* line height of “Get This” */
right: 12px; /* right edge of “Get This” in relation to the next element */
cursor: pointer; /* controls the cursor type when hovering over “Get This” */
text-decoration: underline; /* controls the font decoration for “Get This” */
}
/* Controls the “>>” after “Get This” in the footer (will only display if your pipe is published) */
div.pipesstyle div.gts {
position: absolute; /* controls the position of “>>” */
height: 16px; /* controls the height around “>>” */
display: inline; /* controls how “>>” will be displayed */
color: inherit; /* color of “>>” */
font-size: 12px; /* font size of “>” */
font-weight: bold; /* font weight for “>>” */
line-height: 20px; /* line height around “>>” */
right: 2px; /* right edge of “>>” in relation to the next element */
cursor: none; /* controls the cursor type when hovering over “>>” */
text-decoration: none; /* controls the text decoration for “>>” */
}