A CSS Button Creation Class
Introduction
In an earlier article, Creating CSS Buttons, I examined how to create graphical-appearing buttons using nothing but HTML and CSS. While this approach is fairly simple to implement - just add a few style tags and a suitable HREF and DIV tag - it is a bit mundane to have to do for each and every button, especially since you need to have a unique set of style classes and IDs for each unique button. (If you are thoroughly confused by this point, be sure you''ve read the Creating CSS Buttons article before delving into this one...) In this article we will examine a small, but handy class to help automate the process of creating CSS buttons. Furthermore, when using a class we''ll be creating and placing buttons much like you would in a VB project. (For more information on creating and using classes in VBScript, be sure to read Mark Lidstone''s Excellent article: Using Classes within VBScript!)
Determining the Class Properties
The first step in creating our CSS button creating class is to decide what properties makeup a CSS button. While there is literally no limit to the number of properties one could conceivably attribute to a button, for this article I am going to assume that this set of properties conveys the basic features one would like to have in a button:
CSSButton Class Properties
Name Uniquely identifies each button.
BackColor Specifies the background color of the button.
BorderColor Specifies the color of the button''s border.
Font The font to use for the button''s label. Must be in the format: style size font-name, such as: bold 12pt arial.
FontColor The color of the font when the button is not selected.
Width The width of the button.
Text The text to display on the button.
Url The Url to take the user to when the click the button.
MouseOverColor The color to make the font when the user''s mouse moves over the button.
This will only work for visitors using IE...
These properties describe each button. Realize that you must use a unique Name for each independent button you want on a given Web page. If you create multiple buttons with the same name, when you mouse over one button, all of those buttons will highlight.
Creating the Class Methods
Now that we''ve looked at the properties for the CSSButton class, let''s examine the two methods we''ll need: GenerateStyleTag() and GenerateButtonTag(). Since each CSS button needs its own classes/IDs declared in a STYLE tag, and, additionally, needs an HREF/DIV section to display the button, these two methods return the applicable STYLE tag and HTML. These methods are very simple, and can be seen below:
Public Function GenerateStyleTag()
''Create the STYLE tag
Dim strStyle
strStyle = "STYLE TYPE=""text/CSS""" & vbCrLf & _
"!--" & vbCrLf & _
"#mybutton" & Name & " {border-style: inset; " & vbCrLf & _
" border-color: " & BorderColor & ";" & vbCrLf & _
" background-color: " & BackColor & ";" & vbCrLf & _
" &nbs
CSS教程是:Creating CSS Buttons (二)。p; width: " & Width & ";" & vbCrLf & _
" text-align: center; }" & vbCrLf & vbCrLf & vbCrLf & _
"A.buttontext" & Name & " {color: " & FontColor & "; " & vbCrLf & _
" text-decoration: none; " & vbCrLf & _
" font: " & Font & ";" & vbCrLf & _
" cursor: hand; }" & vbCrLf & vbCrLf & vbCrLf & _
".buttonover" & Name & " {color: " & MouseOverColor & ";" & vbCrLf & _
" text-decoration: none; " & vbCrLf & _
" font: " & Font & ";" & vbCrLf & _
" cursor: hand; }" & vbCrLf & _
" // --" & vbCrLf & _
"/STYLE"
GenerateStyleTag = strStyle
End Function
Public Function GenerateButtonTag()
Dim strHTML
strHTML = "a href=../../""" & Url & """ class=""buttontext" & Name & """ " & _
"onMouseOver=""this.className=''buttonover" & Name & "'';"" " & _
"onMouseOut=""this.className=''buttontext" & Name & "'';""" & _
vbCrLf & "div id=""mybutton" & Name & """" & vbCrLf & Text & _
vbCrLf & "/div/a" & vbCrLf
GenerateButtonTag = strHTML
End Function
Creating a Button - the Whole Process
Now that we have outlined the properties in our class, along with the two needed methods, let''s examine how we will actually create some buttons on a Web page. The first thing to do is to create an instance of our CSSButton class for each CSS button that we wish to display on the page. (The complete source for the CSSButton class is available in a download at the end of this article.)
A very simple example can be seen below. It creates two buttons, one that links to Yahoo! and one that links to Lycos. (Be sure to try out the live demo!)
''... Insert declaration of CSSButton class here ...
Dim btnYahoo, btnLycos
Set btnYahoo = New CSSButton
Set btnLycos = New CSSButton
btnYah
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)CSS教程是:Creating CSS Buttons (二)。oo.BackColor = "#aaaaaa"
btnYahoo.BorderColor = "#bbbbbb"
btnYahoo.Font = "bold 12pt Verdana"
btnYahoo.FontColor = "black"
btnYahoo.Width = "80px"
btnYahoo.MouseOverColor = "yellow"
btnYahoo.Url = "http://www.yahoo.com/"