#speech
{
font-family: customfont;
font-size: 30px;
font-weight: bold;
color: #0B03FE;
position: relative;
width: 45%;
height: auto;
text-align: center;
background-color: #fff;
border: 8px solid #F50032;
-webkit-border-radius: 30px;
-moz-border-radius: 30px;
border-radius: 30px;
-webkit-box-shadow: 2px 2px 4px #888;
-moz-box-shadow: 2px 2px 4px #888;
box-shadow: 2px 2px 4px #888;
}
#speech:before
{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: 30px;
top: 150px;
border: 25px solid;
border-color: #F50032 transparent transparent #F50032;
}
#speech:after
{
content: ' ';
position: absolute;
width: 0;
height: 0;
left: 38px;
top: 150px;
border: 15px solid;
border-color: #fff transparent transparent #fff;
}
我这里有一个用CSS制作的语音泡泡。当我的语音div设置为固定高度(例如height: 150px;
)时,这非常有效,但是我需要根据div包含的文本数来调整自身的高度。这就是为什么我得到它height: auto;
。
现在,如果您查看#speech:before
和#speech:after
,就可以看到两者都设置为top: 150px;
。这是我遇到的问题,因为我需要将这两者改为#speech
的高度。我已经有办法通过以下Javascript获得动态高度:
window.onload = function(){
var element = document.getElementById('speech');
var speechheight = element.offsetHeight;
};
所以现在我有两个“上衣”所需的高度 - 我似乎无法找到实际应用它的方法。有谁可以帮助我?
提前致谢。
答案 0 :(得分:2)
将top
值更改为100%
:
#speech:before,
#speech:after {
top: 100%;
}
我认为您不能使用JavaScript选择:before
和:after
元素。