我无法在所有浏览器中使下面的布局看起来相同:
.wrapper {
margin-top: 100px;
position: relative;
height: 400px;
width: 400px;
border: 1px solid black;
}
.icon {
position: absolute;
width: 40;
height: 40px;
border: 1px solid black;
background-color: white;
top: -20px;
right: 10px;
}
<fieldset class="wrapper">
<legend>Legendary!</legend>
<div class="icon">icon</div>
</fieldset>
问题在于,当legend
元素存在时,div.icon
在firefox上向下拉几个像素,在chrome上向上拉几个像素。当我删除legend
元素时,它工作正常,但我不能这样做。关于如何让它在任何地方看起来都一样的想法?
答案 0 :(得分:1)
这里你有一个工作更新:jsfiddle在chrome和firefox中测试过。
您无需使用position:absolute;
float:right;
,只需margin-top:-40px;
您的div并提供 #wrapper{
margin-top: 100px;
position: relative;
height: 400px;
width: 400px;
border: 1px solid black;
}
#icon{
float:right;
background-color:#fff;
width:40px;
height:40px;
border:1px solid black;
margin-top:-20px;
margin-right:20px
}
legend#title {
margin-left: 20px;
float: left;
padding-left: 10px;
margin-top: -10px;
background: #f3f5f6;
width: 74px;
}
或您想要的任何值。
language: php
php:
- '5.6'
- '7.0'
services:
- mysql
before_install:
- php /home/travis/.phpenv/versions/5.6/bin/composer self-update
before_script:
- composer install
- php bin/console doctrine:database:create --env=test
- php bin/console doctrine:schema:create --env=test
- php bin/console hautelook_alice:doctrine:fixtures:load -n --env=test
script:
- phpunit --configuration phpunit.xml.dist --coverage-text
答案 1 :(得分:0)
.icon {
float: right;
margin-top: -30px;
width: 40px;
height: 40px;
border: 1px solid black;
background-color: white;
}
在铬和mozilla上测试。
答案 2 :(得分:-1)
尝试以top
为单位提供%
值。
.icon {
position: absolute;
width: 40;
height: 40px;
border: 1px solid black;
background-color: white;
top: -2.5%;
right: 10px;
}
答案 3 :(得分:-1)
将line-height
用于.icon
CSS:
.wrapper {
margin-top: 100px;
position: relative;
height: 400px;
width: 400px;
border: 1px solid black;
}
.icon {
position: absolute;
width: 40;
height: 40px;
border: 1px solid black;
background-color: white;
top: -20px;
right: 10px;
line-height: 40px;
}