Как установить float для каждого элемента внутри div сразу после того, как он будет всплывать для каждого элемента внутри?

Как установить float для каждого элемента внутри div?

Я хочу дать float для внутренних элементов только для родительского DIV?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Sandbox</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #000; font: 16px Helvetica, Arial; color: #fff; }
div {border:2px solid red;height:50px}
a {border:2px solid blue;margin:10px}
</style>
</head>
<body>

<div>
<a>Hello from JS Bin</a>
  <a>from JS Bin</a>
  </div>
</body>
</html>

Ответ 1

Вы можете настроить таргетинг на всех дочерних элементов элемента с помощью селектора *, поэтому в вашем примере вы можете добавить:

div * { float: right; }

Обратите внимание, что это будет плавать все дети и их дети, поэтому, если у вас есть вложенный контент, это, вероятно, не то, что вы хотите, в этом случае вы, вероятно, захотите:

div > * { float: right; }

Однако, > прямой селектор потомков не поддерживается в более старых версиях IE (и, возможно, других браузерах?).

Ответ 2

Следуя за Alconja ниже, это хороший способ обойти проблему выбора потомков:

div *{ float: right; } 
div * *{ float: none; }

Это будет плавать все правильно, тогда дети всего будут reset никому.