Thanks everyone for your helpful advice. It has helped me get further, but not over my fundamental problem. Here's a much more concrete example. Applying everyone's suggestions, I get markup as follows:
<div class="form-search">
<span id="dnn_dnnSEARCH_ClassicSearch">
<input name="dnn$dnnSEARCH$txtSearch" type="text" maxlength="255" size="20" id="dnn_dnnSEARCH_txtSearch" class="NormalTextBox" onkeydown="return __dnn_KeyDown('13', ' __doPostBack(%27dnn$dnnSEARCH$cmdSearch%27,%27%27)', event);" />
<a id="dnn_dnnSEARCH_cmdSearch" class="SkinObject" href=" __doPostBack('dnn$dnnSEARCH$cmdSearch','')">Search</a>
</span>
</div>
The "form-search" div comes from my stylesheet., which places the search box in an absolute position in the header. But look closer at these styles.
This one positions the background image that pretends to be an input box. This is how it gets its styled look in the screenshot I have in the first post.
#header .form-search .text {
float:left;
background:url(images/bg-input.gif) no-repeat;
height:34px;
overflow:hidden;
padding:0 15px;
}
And this one positions the actual text input within the image of the box, so when you click on it, you get a live input box.
#header .form-search .text input {
width:140px;
padding:8px 0 5px;
background:none;
border:0;
color:#4f4f4f;
}
But the DNN markup only gives me one class for the text box: "NormalTextBox." I need to apply classes to two elements here (the image and the text input) and I only get one class in the markup. To make markup that will work with these styles, it needs to be:
<div class="text"><input name="dnn$dnnSEARCH$txtSearch" type="text" maxlength="255" size="20" id="dnn_dnnSEARCH_txtSearch" onkeydown="return __dnn_KeyDown('13', ' __doPostBack(%27dnn$dnnSEARCH$cmdSearch%27,%27%27)', event);" /></div>
That would get my 2 classes applied, but I can't see how to insert that <div> inside the DNN-generated markup.
I've run into this problem at least a dozen times, now. I'm sure if I crack this, it will help me with skinning all of the DNN controls.
Thanks for everyone's help.
AldenG