Я собираюсь предложить другой отдельный ответ, используя селекторы CSS 3. Мой другой ответ, хотя и простой и элегантный, может быть неприменим к вашей конкретной ситуации.
Более пуленепробиваемый способ достижения того, что вы ищете, это:
CONTAINER { width: 1000px }
CONTAINER A { width: 250px }
CONTAINER B { width: 250px }
CONTAINER C { width: 750px }
CONTAINER B ~ C { width: 500px } /* if the B element is present, and is a sibling of C, reduce C's width to 500px */
Единственное предостережение этого метода в том, что элементы B
и C
должны быть братьями и сестрами, и, судя по звукам вещей, они в вашем случае.