First PSU
By ezra vancil
Our first PSU will be held on October 1s 6PM central US. If this is a horrible time for the broader population let me know because US members on our site are mostly outside the US. Sign up for the event here and also join the PSU group where you will be given the freeware software we will need for the 1st PSU.
Menu 101
This first PSU will open up the box and see what is inside the PSU menu, also looking at the options for customization. Each session will end with a question and answer period. If you already have some questions on the menu, please post them in the event and we will touch on them in the presentation - see ya there
Ezra Out of touch
By ezra vancilThank you, and those of you in the know, please help others on this site if you can.. would be greatly appreciated.
ez
CSS 101: BACKGROUNDS
By ezra vancilBroken down backgrounds
I will show you each property and then I'll show you the shorthand for incorporating all properties into one statement.
Background color
To effect the background color of any block element is a simple as:
#header {
background-color: #454545;
}
Background Image
You can put a image in the background of any element with "URL" just place the image URL inside of the "()". I sometimes will upload images onto my SocialGo Network, right click on them.. and tada! I have my Image URL.
#header {
background-image: url(www.mysite.com/image.gif);
}
Background Repeat
The most powerful thing about the background image is that you can tell it to repeat vertically horizontally or both directions... or not to at all. Let's look at the three options. You see the little green line bellow. Well it's small when by itself but if I repeat it horizontally, it makes the button you see bellow.
One small image:

Makes this when repeated (repeat-x):

Repeat horizontal and vertical
#header {
background-image: url(www.mysite.com/image.gif);
background-repeat: repeat;
}
Repeat horizontal
#header {
background-image: url(www.mysite.com/image.gif);
background-repeat: repeat-x;
}
Repeat Vertical
#header {
background-image: url(www.mysite.com/image.gif);
background-repeat: repeat-y;
}
Background Position
The background position property is great for lining things up. You can use it on X and Y and no-repeat, But, it's a little different with each of these values. For instance if we have a image that is repeating horizontally (repeat-x) we can tell it to move up or down, but when we tell it to move right or left, it will only change the starting place of where it repeats.
The many variations of positionYou can position a background image by it's x and y values. we can do this with percent, or pixels or just telling it "center" or "right". We tell it both the X and the Y in the same CSS statement.
#header {
background-image: url(www.mysite.com/image.gif);
background-position: center left;
}
Here are all the possibilities when using a pre-defined position. Remember you are stating BOTH the X and the Y in the same value (top left)
- top left
- top center
- top right
- center left
- center center
- center right
- bottom left
- bottom center
- bottom right
Using percentage
You will want to use percentage when something may change size
but you want the position of the image to stay relative to it's
parent's position. You might use this when you have a arrow
background in your nav, that needs to be in the same 52% position
no matter how long your nav button is. Here is a picture to show
you how I used it on SG's template.

You see, the magazine button is wider than the home button, but
the arrow stays right in the center no matter how wide the button
is stretched. Here is the CSS i used.
#header {
background-image: url(www.mysite.com/image.gif);
background-position: 50% bottom;
}
Background Shorthand
Believe it or not, we can compress all of that junk above into one pretty CSS property. Study bellow and see how I've incorporated all properties in one.
#header {
background: #dfdfdf url(www.mysite.com/image.gif) no-repeat %50 bottom;
}
With one slight of hand I've put a background color, Image, repeat state and position in that order. That's the way to do it.
CSS 101: Block & Inline elements
By ezra vancilPlay with Display
If your new to CSS, you've probably stayed away from the "Display" property. Well you might be missing out on a powerful tool. It only has to values, or three things it can do, so it's easy to remember .
- display: inline;
- display: block;
- displa; none;
All three of these values are extremely useful. Think of the display:none that we used in last weeks tip on hiding elements on a page, like the birthday element that so many ladies hate... display:none; You can even hide sorts of stuff you don't want on your page and is not yet an option in the layout manager.
Block and Inline are just as powerful. Lets say you want the background color of a DIV with a ad or image in it to automatically span the width of your text, so as not to worry about setting an exact pixel width. You would use the INLINE value to do this, because a DIV is a block element.
The difference between Block and Inline These are the most common elements that are blocks, and it's pretty easy to see this because they are usually designed visually as blocks.
-
The Problem is the Solution
By ezra vancilAnother reason to love the web is it provides the perfect problem for creativity to exist. Creativity is problem solving -- that's it. The greater the problem, the greater the creativity it takes to overcome, and as we all know, the web is one big problem, because it evolves constantly, never sagnet, never standing still.
Have you ever had someone say, "Just do whatever you want." I hate that. Because there is no problem to solve. It's much better when they say, "Our colors are dirt brown and lime green, and our logo is two feet long."
I find as the years go on that I have more and more customers that tell me to do whatever, so I've started providing my own problems, to force me to solve them with creativity.
Working with someone else's code is always a great creative problem, so Socialgo is just one big problem. Because you can't move the menu above the header -- you can't put a class or ID where there is not one and so on.
So here we have the perfect formula for successful creativity. Don't get frustrated--get creative. See it as a adventure. Try something that our not sure is possible, or try something you don't know how to do.
If anyone asks me how to learn coding of any type. I tell them go out and sell a web page, specifically with something you don't know how to do. Tell your wife and children you will see them in two weeks, and lock yourself in a room until the job is done. By the end, you will have learned more than a semester at college. Then of course you will get the call that it doesn't work in IE6 7 or 8 and you have to lock yourself in a room for another 3 days.
In the same way, charge yourself to do something your not quiet sure how to do, and commit to it until it is through. continue to do this with any code you want to learn. I tell you, most of the great coders, CSS, HTML etc.. I know have done it this way. I don't know many, actually only one, that went to school for it.
If you get stuck give me a ring, or widget lab is real helpful with SG. Just continue to challenge yourself. Just make sure you backup every thirty min. Keep them by date and time so you can always step back if you need to. Or, you could just buy a mac and use CSSedit.
podcast 6: Companion 3
By ezra vancil
You can view the podcast
Prosocialgo here.
It is a good idea to learn to work from the provided
socialgo CSS theme template. I grab that CSS with Html scout.
Just load the page and click the style or CSS tab. Copy and paste
it into your own CSS doc. But as I have used in this tutorial
series, you can just copy and paste as you go using firefox
plugins like firebug. Here is how you set up a CSS and HTML to
use on your hard drive. After your done, you can either put the
CSS on a server and link to it in your Header are
of custom CSS area of Socialgo admin. Do this like so:
Now your Socialgo will read that CSS style sheet. This is
cool cause you can update the style sheet then upload it, then
ta-da, your whole site is updated, no going to the admin and copy
and pasting css into the header again. Here is how you set
up your CSS and HTML: I will be working from my own style
sheet and HTML on on my hard drive. The way you do this, if you
don't know, is to go to the page you want to work on. In the menu
click "View," or something similar in all browsers. Select "View
Page Source," Then copy and paste this into a html doc. Replace any
info in the doc with this. Save it. Now create a blank CSS, save it
in the same root folder. Now look for this code between the header
of your HTML doc:
Replace the URL of the theme style sheet, in this example
"38597-1238993918.css" with the url to your new style sheet in your
root folder, it should look something like this mycss.css if you
put it in the same folder as the HTML. Cool now when you change the
css and save it will effect your html. you can keep your HTML open
in a browser and just refresh to see the changes. If you are
working in Dreamweaver or something similar, just delete the entire
theme CSS and link to your own CSS through the CSS palette. In
dreamweaver it is in the lower left hand of your pallet, a little
chain icon.Part one, two
Podcast 6: Companion 1
By ezra vancilFireBug: Find & Grab
We have other tutorials on firebug, look at podcast one and also this blog which has firebug info and also other CSS editors and plugins you can use to do the same job.
Copy and paste H1 logo area css> First of all. Every thing we copy from fire bug will have a line number. You can see this in the style pane to the right. You will need to delete this number for it to work.
Open up firebug by right clicking on your page and selecting
"Inspect Element." It will pop open a slide out tray from the
bottom. Next click the inspect button in firebug, top left.
Now we will find our html elements by hovering over the page. If
the inspect button is impressed than you will see a little blue
outline as you hover over the elements of your page. Whatch the
code in the fire bug window and hover over the header until you
see a H1. This is your header HI where we will put the logo.
Click it.

Now on the right side of firebug, you will see the CSS. If you
don't see it, select the style tab. Now if you clicked on the
header H1, you should see at the top of the CSS pain the header
H1 statement. Copy and paste this into your style sheet. Header
H1 a
Now we will copy the Header H1 a. this is where we will put the
image it self, and the rollover image. Press inspect in firebug
again, now scroll over the title of the page until you see the
blue outline around the title.

Click. you should now see bown in the style pane of fire bug, the
div#Header H1 a. Copy and paste it.

Adding images
In the div#header H1 a, Add this attribute and value: Background: url(imeages/mylogo.jpg); Where you see my logo JPEG you should put the path to your own logo. If it is hoasted somewhere like Photobucket or on your social go, get the image URL by right clicking on it, and then place that URL in that place. Should Look Like this:
div#header h1 a {
color: white;
font-family: Arial;
font-size: 35px;
line-height: 113px;
background: url(images/mylogo.jpg);
}
Now, also add a Display:Block, and height: 145px; and text-indent: -2000px; the hight will depend on your logo image height. It will look like this:
div#header h1 a {
color: white;
font-family: Arial;
font-size: 35px;
line-height: 113px;
background: url(img/images/shoe.png) no-repeat;
display: block;
height: 145px;
text-indent: -2000px;
}
Now you will copy the Header H1 a statement and paste it bellow then add ":hover" to the "a" or anchor to look like this:
div#header h1 a:hover {
}
Now you want to do is to add your rollover image. You will do this the same way as you added the first image, BUT, this time delete all other atributes to look like this:
div#header h1 a:hover {
background: url(images/mylogo_on.png) no-repeat;}
You will see your logo now in the header, but it's shooting
over and over across the page. We need to tell it not to repeat. So
in the original div#header H1 a, place this value in side of the
background attribute: no-repeat. Now here is the final code:
div#header h1 a {
color: white;
font-family: Arial;
font-size: 35px;
line-height: 113px;
background: url(img/images/shoe.png) no-repeat;
display: block;
height: 145px;
text-indent: -2000px;
}
div#header h1 a:hover {
background: url(img/images/shoe_on.png) ;}
Thats it on the header logo, shall return with the Header
background.Part one of Two
101 CSS/XHTML: Your P's & Q's
By ezra vancilLike them or not, terms are very important, but truthfully you don't have to know any of them to make up a mess of code. I actually didn't know one term of HTML or CSS until about 1 year in and a few national awards richer. I finally admitted my ignorance when I got embarrassed at a awards ceremony when I couldn't even enter in a conversation about my own site! So... I figured, I better learn some P's and Q's. And, you will too if you ever want to communicate with another developer coherently, or to know what the hell I'm talking about... because, though I do use "tags" when I'm talking to my dog and children (My quality assurance managers), I will use the actual terms with you, because I don't want you to bare the shame of calling a selector a property in the wrong crowd.
Here is a visual layout of all the most common terms, or at least, most of the ones you'll need to follow in our podcast, until we get into parent child selectors, nth selectors etc.. but we'll make sure your up to speed.


101 Fundamentals: Selectors
By ezra vancilI've had allot of questions from other Socialgo'ers that smelled strangely of my early days and I want to scream stop! go back to go and collect $200. I decided to create a ground zero fundamentals series, and I hope it's helpful to those brand new to code, and those looking to sturdy their foundation.
A huge mistake I made, and still constantly make, is the lust for instant gratification at the expense of knowing what I'm consuming. Translated to XHTML and CSS this seemingly ambitious drive to get to the good stuff, causes what I call Rat's nest Code. Hey, but it does the trick right? Maybe, kinda like duck tape does the trick.
The problem with racing down the road with out knowing what all the road signs mean is you'll eventually collide head first with a pedestrian, and that pedestrian is usually one of your pissed off users, a client or a boss. How this happened to me, countless times, is I got the site going, looking good -- by the skin of my teeth. Then 4 months later, after I had done twenty more sites, tragedy struck. Something goes wrong, someone sneezed on your CSS or something and you got to go rescue the site. Well I would open up those four month old sites and nearly collapse. I didn't remember what I did, or how I did it. I had ripped most of the code from other sites and the rest ducked taped together with 20 different tutorials from 20 different versions of how to code. I can't tell you how many cuss words I learned back then, some of them would make the 18+ sights blush.
For you as a socialgo network owner,it probably will mean loss of members, loss of profits, loss of confidence.I've only been at socialgo for a short time, and I have already broken my sites, in a big way, accidentally. ( Usually because if you have several networks, whenever you go to admin it still pops back to your first network on the list. well, I'd go in the wrong network and start deleting stuff and so on..)
The malfunction, for me at least, was simply that I didn't know what the hell I was doing and didn't want to admit it. I'd learned how to steel code and make it work, but I never learned how to write code and understand how it was supposed to work together.
I finally forced myself to re-read all those books on my shelf and pay attention to the 90% I skipped over.
(By the way, after my little sermon, my code is still ratty... I'm working on it)
This is the real beginning fundamentals, so if you know all this please skip to the next blog.
SIMPLE SELECTOR
A HTML page is made up of ELEMENTS and ELEMENTS are different structures like buildings.
Here is a
ELEMENT:
I talk to my dog because Farty the cat has bad breath
With a CSS SELECTOR, I can grab hold of a TAG by it's NAME Like this:
p {}
Thats it!
'sp is name. This is a
SIMPLE SELECTOR because it's so damn simple. Now
I can tell this p what to do with CSS.
ID SELECTOR
But, hell there are like two thousand's
in my network, what if I just want to
grab hold of one element that talks about my dog's breath. Just
like I my State ID refers to me in a broad term saying that I am a
MALE- and then in a specific term, that I am EZRA. The element
works the same. I just have to give it the specific name, we'll
call it Hara because that's my dogs name.
#hara {}
That's it! This is a ID SELECTOR.Class SELECTOR
Now, lets say my Network is all about dogs and cats and I want all the Cat Elements to be orange and the dog Elements to be blue. Because dogs and cats are two different CLASSES of animals; I have to give them a CLASS so instead of a specific name ID like
I'll give them a class so I can call all the dogs and cats:
Think of it this way:
= animal
= dog
= my dog
now I'll call the cats with CSS:
.cat {}
Thats it. This is a CLASS SELECTOR.
Wrap it up Now
To close it all up I'll show you what it looks like when I order my dogs and cats to be orange and blue. We'll do this by commanding the selectors with Properties and Values which we will be covering in the next lesson. Here is a peek at how it looks all together:
.cat {
color: orange;
}
.dog {
color: blue;
}
and i'll make my dog pink.
#hara {
color: pink;
}