Alright, after gaining some fundamental knowledge of CSS and remembering my week's worth of html from high school, I've figured out exactly how to make custom styled tab macros.
First, clone the tabs macro at $:/core/macros/tabs .
Then change the title part, specifically the "tabs" part, to be something else (you'll end up with a title like $:/core/macros/tabsCustom or some such).
Next, on the line that starts with \define tabs( , change tabs( to something like tabsCustom( .
After that, add a line directly after the line that starts with /define. Put something like <div class="customTabsDiv"> on that line.
Then go to the very end of the macro and add a line before the line that says \end. Then put </div> on the new line.
You'll end up with something like this (I'm sorry I still don't know how to format code blocks):
\define tabsCustom(tabsList,default,state:"$:/state/tab",class,template,buttonTemplate,retain)
<div class="customTabsDiv">
<div class="tc-tab-set $class$">
<div class="tc-tab-buttons $class$">
<$list filter="$tabsList$" variable="currentTab" storyview="pop"><$set name="save-currentTiddler" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify "$state$">> setTo=<<currentTab>> default="$default$" selectedClass="tc-tab-selected" tooltip={{!!tooltip}}>
<$tiddler tiddler=<<save-currentTiddler>>>
<$set name="tv-wikilinks" value="no">
<$transclude tiddler="$buttonTemplate$" mode="inline">
<$transclude tiddler=<<currentTab>> field="caption">
<$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/>
</$transclude>
</$transclude>
</$set></$tiddler></$button></$tiddler></$set></$list>
</div>
<div class="tc-tab-divider $class$"/>
<div class="tc-tab-content $class$">
<$list filter="$tabsList$" variable="currentTab">
<$reveal type="match" state=<<qualify "$state$">> text=<<currentTab>> default="$default$" retain="""$retain$""">
<$transclude tiddler="$template$" mode="block">
<$transclude tiddler=<<currentTab>> mode="block"/>
</$transclude>
</$reveal>
</$list>
</div>
</div>
</div>
\end
Now, to actually specifically only affect the parts of tabsCustom uses you have, you can use something like this CSS code in a stylesheet:
.customTabsDiv > .tc-tab-set.tc-vertical > .tc-tab-content.tc-vertical {
padding-left: 0px;
margin-top: 0px;
border: 1px lightgray solid;
}
.customTabsDiv > .tc-tab-set.tc-vertical > .tc-tab-content.tc-vertical > .tc-reveal > p {
margin: 0;
padding: 0;
}
The > specifies direct descendents of the element type preceding it, meaning those two style declarations will only affect the exact part of the custom tab macro and not, for example, any indirect descendent (grandchildren, basically) <p> tags of every reveal macro thing. (Is there a guide for using the Inspection tools to determine the exact combinators required to affect specific TW elements?)
Finally, in cases where a specific style used in a Tiddler is messing with the margins, padding, width, and/or shadows of a Tiddler's contents in a way that is undesirable when that Tiddler is transcluded into a Tabs Macro, you can make the following addition to the custom Tabs macro custom stylesheet:
.customTabsDiv > .tc-tab-set.tc-vertical > .tc-tab-content.tc-vertical > .tc-reveal > p > #paper {
margin: 0px;
width: auto;
box-shadow: 0px 0px 0px 0px #888; /* #paper is a custom style thing that I used in one of my tiddlers */
}
That code doesn't affect the original tiddler, only the transcluded copy.
That, as far as I can tell for now, should cover how to adjust the content area and contents of tab macros. Sorry it was so long a post, but I needed to be thorough so others like me who need this and, also like me, have zero CSS and TiddlyWiki knowledge would understand just what needed to be done. It was actually pretty simple in the end, but it is super not obvious if you don't have some fundamental basics yet.