Как установить 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 никому.