问题
I am using AjaxControlToolkit CalendarExtender. Some previous rule in my stylesheet is affecting div's within the calendar.
div#paymentRegion div
{
float:left;
width:49%;
}
There are DIVs within the calendar that are being forced to 49%. How can I have the calendar ignore the previous settings and use the styles that come with the calendar? Is that possible? I am afraid to change the current rule, but I think it probably needs to be, however many other divs on this control rely on it. What does the > symbol do to a css rule. For example
div#paymentRegion > div
{
float:left;
width:49%;
}
Maybe that will help? I am open for any suggestions. Thanks, ~ck in San Diego
回答1:
Theoretically, the >
symbol would select only div
s that are immediate children of #paymentRegion. A div
nested farther down would be unaffected. However, not all browsers interpret that correctly, so it's not something you can reliably use.
A more direct solution is to wrap your calendar in a <div id="calendar">
and then write an overriding rule:
div#paymentRegion div {
float: left;
width: 49%;
}
div#calendar div {
float: none;
width: auto;
}
Now even though most div
s inside #paymentRegion will be floated, the divs inside #calendar won't be!
回答2:
VoteyDisciple is right, since his proposed solution's rule has a higher specificity than your current one.
More information on calculating specificity rules.
回答3:
It's difficult to know what to suggest without any HTML. Can you tell us the basic structure? For example, is the div
that is targeted in the first rule a direct child of #paymentRegion
?
If it is the highest level div
(not necessarily a direct child), and all other divs are below that one, you can try this:
div#paymentRegion div {
float: left;
width: 49%;
}
div#paymentRegion div div {
float: none;
width: auto;
}
However, the best bet would be to set a class/ID on that mysery div
, if you can change your HTML.
div#paymentRegion div#uniqueID {
float: left;
width: 49%;
}
来源:https://stackoverflow.com/questions/1337653/css-help-how-can-a-div-ignore-css-previously-set-on-the-page