08.01.2011, 20:41
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от niZE
|
потому что его много)ну то-есть название пункта великовато))
|
покажи дизайн
|
|
08.01.2011, 20:48
|
Интересующийся
|
|
Регистрация: 31.12.2010
Сообщений: 11
|
|
monolithed,
так мне не надо что-бы он скрывался,мне нужно что-бы он был виден целиком,я конечно извиняюсь если вы не понимаете то что я пытаюсь сказать.Мне надо что-бы текст уменьшался.Т.е. что-бы я не вручную каждый раз смотрел где там текст вылезает и применял стиль,а что-бы это было автоматизировано,для этого мне надо-бы посчитать строки.
x-yuri,
показать,смысле код css?
|
|
08.01.2011, 20:56
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
niZE то о чем вы просте сделать кроссбраузерно, наверно не невозможно, если конечно не создавать пустую форму для подсчета количества строк (но это бредятина, так не делается).
Сообщение от niZE
|
показать,смысле код css?
|
все что есть
|
|
08.01.2011, 22:05
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,576
|
|
Эта тем полна бреда чуть более чем наполовину.
Товарищу нyжно что-то типа этого:
Обработанный:
<div style="font-size:40px;width:300px;height:45px;overflow:hidden;border:1px solid #000">
Такой вот тут у нас длинный-предлинный текст попался, чтож теперь поделаешь. Сокращать надо бы, но хочется, понимашь, хитрого дизайнерского хода.
</div>
Не обработанный:
<div style="font-size:40px;width:300px;height:45px;overflow:hidden;border:1px solid #000">
Такой вот тут у нас длинный-предлинный текст попался, чтож теперь поделаешь. Сокращать надо бы, но хочется, понимашь, хитрого дизайнерского хода.
</div>
<script type="text/javascript">
var div=document.getElementsByTagName('div')[0],f;
var height=parseInt(div.style.height); //высота блока, если она едина, то лучше задать просто вручную цифрой
while(div.scrollHeight>height&&(f=parseInt(div.style.fontSize)-1)>0)div.style.fontSize=f+'px'; //пока реальныя высота больше назначенной (и font-size>0 - мало ли=) ) уменьшаем размер шрифта на 1px;
</script>
Правильно же это делается тупо обрезкой с добавлением "...".
Последний раз редактировалось Aetae, 08.01.2011 в 22:12.
|
|
08.01.2011, 22:26
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от monolithed
|
то о чем вы просте сделать кроссбраузерно, наверно не невозможно
|
а главное, не нужно
Сообщение от niZE
|
x-yuri,
показать,смысле код css?
|
картинку или как это выглядит сейчас
|
|
08.01.2011, 22:26
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Aetae
|
Товарищу нyжно что-то типа этого:
|
это ему уж точно не нужно, так текст нестабильный какой-то выходит:
Обработанный:
<div style="font-size:40px;width:300px;height:45px;overflow:hidden;border:1px solid #000">
Такой вот тут у нас длинный-предлинный текст попался, чтож теперь поделаешь. Сокращать надо бы, но хочется, понимашь, хитрого дизайнерского хода.
</div>
О тут не нужно и обрабатывать:
<div style="font-size:40px;width:300px;height:45px;overflow:hidden;border:1px solid #000">
Такой вот тут у нас длинный-предлинный т
</div>
Ну а тут так еще больше текста:
<div style="font-size:40px;width:300px;height:45px;overflow:hidden;border:1px solid #000">
Такой вот тут у нас длинный-предлинный текст попался, чтож теперь поделаешь. Сокращать надо бы, но хочется, понимашь, хитрого дизайнерского хода.............................................................................
</div>
<script type="text/javascript">
var div = document.getElementsByTagName('div'), i = div.length, f;
while(i--){
while(div[i].scrollHeight>parseInt(div[i].style.height)&&(f=parseInt(div[i].style.fontSize)-1)>0){
div[i].style.fontSize = f+'px';
}
}
</script>
Сообщение от Aetae
|
Правильно же это делается тупо обрезкой с добавлением "...".
|
ну да
|
|
08.01.2011, 22:36
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,576
|
|
|
|
08.01.2011, 23:13
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
если бы топикстартеры знали, что им нужно, они бы не ходили на форум
|
|
09.01.2011, 01:15
|
Интересующийся
|
|
Регистрация: 31.12.2010
Сообщений: 11
|
|
спасибо большое за ответы.товарищ Aetae, абсолютно верно меня понял.Однако у меня возникли некоторые трудности:
<style>
#menu_bg ul li a{
background-image:url(images/menu_punkt.png);
background-position:top;
background-repeat:no-repeat;
height: 45px;
color: #65b2b6;
display: block;
text-decoration:none;
width: 184px;
text-align:center;
line-height:45px;
cursor:pointer;
}
#menu_bg ul li a:hover{
background-image:url(images/menu_punkt.png);
background-position:bottom;
width: 184px;
height:45px;
}
#menu_bg ul li ul{
list-style:none;
width: 100%;
display: none;
margin: 0 auto;
padding: 0;
}
#menu_bg ul li ul li a{
background-image:none;
height: 34px;
color: #65b2b6;
display: block;
margin: 0 auto;
border-left: 1px solid #cfcfa9;
border-right: 1px solid #cfcfa9;
background-color: #f2f4d3;
text-decoration:none;
font-size:14px;
overflow:hidden;
width: 160px;
text-align:center;
line-height:34px;
}
#menu_bg ul li ul li a:hover{
background-image:url(images/menu_onhover.png);
width: 164px;
height: 34px;
font-size: 16px;
}
</style>
<script type='text/javascript'>
divAccor = document.getElementById('menu_bg');
getLi = divAccor.getElementsByClassName('underLi');
for(i=0;i<getLi.length;i++){
var menuA=getLi.item(i).getElementsByTagName('a'),f;
var height=parseInt(34); //высота блока, если она едина, то лучше задать просто вручную цифрой
while(menuA.scrollHeight>height&&(f=parseInt(menuA.style.fontSize)-1)>0)menuA.style.fontSize=f+'px'; //пока реальныя высота больше назначенной (и font-size>0 - мало ли=) ) уменьшаем размер шрифта на 1px;
}
function menuAccordion() {
var lis = new Array();
var ulInLi = new Array();
divAccor = document.getElementById('menu_bg');
getLi = divAccor.getElementsByTagName('li');
n = 0;
k = 0;
for(i=0;i<getLi.length;i++){
ulObj=getLi.item(i).getElementsByTagName('ul');
if(ulObj.length > 0){
lis[n]=getLi.item(i);
n++;
}
}
for(i=0;i<lis.length;i++){
lis[i].onclick = function() {
for(j=0;j<lis.length;j++){
if(lis[j].getElementsByTagName('ul').item(0).style.display != this){
lis[j].getElementsByTagName('ul').item(0).style.display = 'none';
}
}
ulObj = this.getElementsByTagName('ul').item(0);
if(ulObj.style.display == 'block'){
ulObj.style.display = 'none';
} else {
ulObj.style.display = 'block';
}
mainResize();
}
}
}
</script>
<div id='menu_bg'>
<li><a href='index.html'>Главная</a></li>
<li><a href='about.html'>О Нас</a></li>
<li><a href='javascript: return false'>Услуги</a>
<ul>
<li class="underLi"><a href='credit.html'>Кредиты</a></li>
<li class="underLi"><a href='deposit.html'>Депозиты</a></li>
<li class="underLi"><a href='card.html'>Карточки</a></li>
</ul>
</li>
<li><a href='javascript: return false'>Интернет-Банк</a>
<ul>
<li class="underLi"><a href='calcul.html'>Депозитный Калькулятор</a></li>
<li class="underLi"><a href='klient_bank.html'>Клиент-Банк</a></li>
</ul>
</li>
<li><a href='filia.html'>Филиалы</a></li>
<li><a href='partners.html'>Наши Партнёры</a></li>
</ul>
</div>
Вообщем у меня при преминении кода который мне дал Aetae смещаються стили.Li первого уровня вообще без стиля,а вот Li второго уровня почему-то получают стиль первого уровня.
Последний раз редактировалось niZE, 09.01.2011 в 01:17.
|
|
20.12.2011, 13:25
|
Новичок на форуме
|
|
Регистрация: 20.12.2011
Сообщений: 1
|
|
element.style.height = 'auto'
|
|
|
|