php 질문입니다^^ 정보
php 질문입니다^^관련링크
http://land7077.cafe24.com/
135회 연결
본문
링크를 보시면 보드 하나에 4개의 최근게시물이 보입니다
원래 움직이는 최근스킨인데 제가 멈쳐서 사용합니다
근데 문제는 이것이 썸네일이 4개다음에 다음줄로 오게 하고 싶은데
그러니까 보시면 추천매물(전원주택이 4개 있는데 밑으로 내려와서 8개 보이게 하고 싶거든요)
이것은 한줄로 설정되어 있나봅니다 스킨코드를 보아도 몰라서 이렇게 여쭤봅니다
소스는 다음과 같습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$latest_skin_path/skin.lib.php");
$img_width = 175; // 이미지 가로 사이즈
$img_height = 110; // 이미지 세로 사이즈
$frame_width = 780; // 가로길이
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/latest_thumb';
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);
?>
<!--최신글, 이미지, 내용 시작-->
<script type="text/javascript" src="<?=$latest_skin_path?>/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?=$latest_skin_path?>/js/jquery.imageScroller.js"></script>
<style type="text/css">
body {}
img {border:0}
a {text-decoration:none}
/*스크롤러 스타일*/
div#scroller {background-color:#ECF5C6; position:relative;height:170px; width:<?=$frame_width?>; padding:0 0px; smargin:0;clear:both;overflow:hidden;border:0px #ddd solid}
/*좌우버튼*/
div.button {height:30px;}
#btn1, #btn2 {cursor:pointer}
ul#scrollerFrame {width:1000px; padding:0;margin:0;list-style:none;}
ul#scrollerFrame li {position:relative;float:left; margin:0 0 0 10px;width:160px;height:140px;}
/*가격 및 설명 부분*/
ul#scrollerFrame li p {margin:0;padding:0}
ul#scrollerFrame li p.price{font-family:verdana;font-size:12px;font-weight:bold;margin-top:7px;text-align:center;color:#0a62cf}
ul#scrollerFrame li p.comment{font-family:돋움;font-size:11px;letter-spacing:-1px;margin-top:4px;padding:0 5px;text-align:center;color:#f8f8f8;line-height:130%}
/*붙박이 아이콘 설정*/
.besticon {position:absolute;top:0;left:0}
.price {font-family:돋움;font-size:12px;font-weight:bold;padding-top:7px;text-align:center;color:#0a62cf}
</style>
<script type="text/javascript">
$(function(){
$("#scroller").imageScroller({
next:"btn1", //다음 버튼 ID값
prev:"btn2", //이전 버튼 ID값
frame:"scrollerFrame", //스크롤러 프레임 ID값
width:160, //이미지 가로 크기
child:"li", //스크롤 지정 태그
auto:false //오토 롤링 (해제는 false)
});
});
</script>
<div id="scroller">
<ul id="scrollerFrame">
<? for ($i=0; $i<count($list); $i++) { ?>
<li>
<?
if($list[$i][file][0][view]){
$src = $list[$i][file][0][path]."/".$list[$i][file][0][file];
$get_img = getimagesize($src); // 파일정보를 가져옴
// 관리자가 이미지 사이즈를 바꾸었을때를 대비하여 리사이징 크기를 이름에 포함과 이미지 재 첨부시 바뀜
$img_step1 = explode("_",$list[$i][file][0][file]);
$img_step2 = explode(".",$img_step1[1]);
$new_imgname = $img_step2[0];
$thumb_file_list = "{$thumb_path}/{$re_img_width}x{$re_img_height}_{$new_imgname}_{$list[$i][wr_id]}_list";
if(!file_exists($thumb_file_list)){
// gd lib 체크
$gd = gd_info();
$gdversion = substr(preg_replace("/[^0-9]/", "", $gd['GD Version']), 0, 2); // gd 버전이 2.0 이상인지 체크
if(!$gdversion){
$thumb_file_view = $src; // gd 2.0 이하면 강제적으로 줄임
}else{
if($img_width > $get_img[0] || $img_height > $get_img[1]){
$thumb_file_list = $src;
}else{
createThumb_list($img_width,$img_height,$src, $thumb_file_list, $get_img); // list 페이지 썸네일
}
}
}
echo '<div align="center">';
echo "<img src='$latest_skin_path/img/new.gif' class='besticon'>";
$img = "<a href='{$list[$i]['href']}'><img src=\"$thumb_file_list\" border=\"0\" width=\"$img_width\" height=\"$img_height\"/><br/><br/><span class='price'>{$list[$i]['subject']}<p>
{$list[$i][ca_name]}</p>
<p>
<span style='font-size:9pt; color:#FF0000;'>[{$list[$i][wr_8]}]</p></span></a>";
}else{
// no 이미지를 비율적으로 만들어났음
echo '<div align="center">';
echo "<img src='$latest_skin_path/img/new.gif' class='besticon'>";
$img = "<a href='{$list[$i]['href']}'><img src=\"$latest_skin_path/img/no_image.gif\" width=\"$img_width\" height=\"$img_height\"/><br/><br/><span class='price'>{$list[$i]['subject']}<p>
[{$list[$i][ca_name]}]</p>
<p>
<span style='font-size:9pt; color:#FF0000;'>[{$list[$i][wr_8]}]</p></span></a>";
}
echo $img;
?>
</li>
<? } ?>
</ul>
</div>
원래 움직이는 최근스킨인데 제가 멈쳐서 사용합니다
근데 문제는 이것이 썸네일이 4개다음에 다음줄로 오게 하고 싶은데
그러니까 보시면 추천매물(전원주택이 4개 있는데 밑으로 내려와서 8개 보이게 하고 싶거든요)
이것은 한줄로 설정되어 있나봅니다 스킨코드를 보아도 몰라서 이렇게 여쭤봅니다
소스는 다음과 같습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once("$latest_skin_path/skin.lib.php");
$img_width = 175; // 이미지 가로 사이즈
$img_height = 110; // 이미지 세로 사이즈
$frame_width = 780; // 가로길이
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/latest_thumb';
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);
?>
<!--최신글, 이미지, 내용 시작-->
<script type="text/javascript" src="<?=$latest_skin_path?>/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="<?=$latest_skin_path?>/js/jquery.imageScroller.js"></script>
<style type="text/css">
body {}
img {border:0}
a {text-decoration:none}
/*스크롤러 스타일*/
div#scroller {background-color:#ECF5C6; position:relative;height:170px; width:<?=$frame_width?>; padding:0 0px; smargin:0;clear:both;overflow:hidden;border:0px #ddd solid}
/*좌우버튼*/
div.button {height:30px;}
#btn1, #btn2 {cursor:pointer}
ul#scrollerFrame {width:1000px; padding:0;margin:0;list-style:none;}
ul#scrollerFrame li {position:relative;float:left; margin:0 0 0 10px;width:160px;height:140px;}
/*가격 및 설명 부분*/
ul#scrollerFrame li p {margin:0;padding:0}
ul#scrollerFrame li p.price{font-family:verdana;font-size:12px;font-weight:bold;margin-top:7px;text-align:center;color:#0a62cf}
ul#scrollerFrame li p.comment{font-family:돋움;font-size:11px;letter-spacing:-1px;margin-top:4px;padding:0 5px;text-align:center;color:#f8f8f8;line-height:130%}
/*붙박이 아이콘 설정*/
.besticon {position:absolute;top:0;left:0}
.price {font-family:돋움;font-size:12px;font-weight:bold;padding-top:7px;text-align:center;color:#0a62cf}
</style>
<script type="text/javascript">
$(function(){
$("#scroller").imageScroller({
next:"btn1", //다음 버튼 ID값
prev:"btn2", //이전 버튼 ID값
frame:"scrollerFrame", //스크롤러 프레임 ID값
width:160, //이미지 가로 크기
child:"li", //스크롤 지정 태그
auto:false //오토 롤링 (해제는 false)
});
});
</script>
<div id="scroller">
<ul id="scrollerFrame">
<? for ($i=0; $i<count($list); $i++) { ?>
<li>
<?
if($list[$i][file][0][view]){
$src = $list[$i][file][0][path]."/".$list[$i][file][0][file];
$get_img = getimagesize($src); // 파일정보를 가져옴
// 관리자가 이미지 사이즈를 바꾸었을때를 대비하여 리사이징 크기를 이름에 포함과 이미지 재 첨부시 바뀜
$img_step1 = explode("_",$list[$i][file][0][file]);
$img_step2 = explode(".",$img_step1[1]);
$new_imgname = $img_step2[0];
$thumb_file_list = "{$thumb_path}/{$re_img_width}x{$re_img_height}_{$new_imgname}_{$list[$i][wr_id]}_list";
if(!file_exists($thumb_file_list)){
// gd lib 체크
$gd = gd_info();
$gdversion = substr(preg_replace("/[^0-9]/", "", $gd['GD Version']), 0, 2); // gd 버전이 2.0 이상인지 체크
if(!$gdversion){
$thumb_file_view = $src; // gd 2.0 이하면 강제적으로 줄임
}else{
if($img_width > $get_img[0] || $img_height > $get_img[1]){
$thumb_file_list = $src;
}else{
createThumb_list($img_width,$img_height,$src, $thumb_file_list, $get_img); // list 페이지 썸네일
}
}
}
echo '<div align="center">';
echo "<img src='$latest_skin_path/img/new.gif' class='besticon'>";
$img = "<a href='{$list[$i]['href']}'><img src=\"$thumb_file_list\" border=\"0\" width=\"$img_width\" height=\"$img_height\"/><br/><br/><span class='price'>{$list[$i]['subject']}<p>
{$list[$i][ca_name]}</p>
<p>
<span style='font-size:9pt; color:#FF0000;'>[{$list[$i][wr_8]}]</p></span></a>";
}else{
// no 이미지를 비율적으로 만들어났음
echo '<div align="center">';
echo "<img src='$latest_skin_path/img/new.gif' class='besticon'>";
$img = "<a href='{$list[$i]['href']}'><img src=\"$latest_skin_path/img/no_image.gif\" width=\"$img_width\" height=\"$img_height\"/><br/><br/><span class='price'>{$list[$i]['subject']}<p>
[{$list[$i][ca_name]}]</p>
<p>
<span style='font-size:9pt; color:#FF0000;'>[{$list[$i][wr_8]}]</p></span></a>";
}
echo $img;
?>
</li>
<? } ?>
</ul>
</div>
댓글 전체
css가 많이 꼬여있는데요..
ul과 li들을 감싸는 div의 height 값이 우선 고정 되어있습니다. 170px 로 되어있는것을 빼주시구요.
ul의 height 값을 100%로 해주시구요.
의도하신것인지는 모르겠지만 div의 width는 780px 인데 ul의 width는 1000px 입니다.
아마 롤링 되는것 때문에 그렇게 되어있던것을 수정하시면서 css는 그대로 두셔서 그렇게 된것 같은데
ul의 가로값이 div값보다 크면서 div는 overflow:hidden이 되어있었기 때문에 가로로 쭉 나열된 것처럼 보였던 것입니다.
ul의 width값을 780px 또는 100%로 두시면 자동으로 넘치는 li들은 아래 두줄로 떨어질것입니다.
그렇게 되면 또 아래줄의 li가 위줄의 가격과 이름을 가리는 현상이 있는데
이것은 li height 값은 140px로 고정이 되어있는데 그것보다 li안의 div 내용이 더 크기때문입니다.
li height 값을 100%로 두시면 해결 될것 같습니다.
ul과 li들을 감싸는 div의 height 값이 우선 고정 되어있습니다. 170px 로 되어있는것을 빼주시구요.
ul의 height 값을 100%로 해주시구요.
의도하신것인지는 모르겠지만 div의 width는 780px 인데 ul의 width는 1000px 입니다.
아마 롤링 되는것 때문에 그렇게 되어있던것을 수정하시면서 css는 그대로 두셔서 그렇게 된것 같은데
ul의 가로값이 div값보다 크면서 div는 overflow:hidden이 되어있었기 때문에 가로로 쭉 나열된 것처럼 보였던 것입니다.
ul의 width값을 780px 또는 100%로 두시면 자동으로 넘치는 li들은 아래 두줄로 떨어질것입니다.
그렇게 되면 또 아래줄의 li가 위줄의 가격과 이름을 가리는 현상이 있는데
이것은 li height 값은 140px로 고정이 되어있는데 그것보다 li안의 div 내용이 더 크기때문입니다.
li height 값을 100%로 두시면 해결 될것 같습니다.
마스터K님 감사합니다. 덕분에 해결됐습니다.^^
제가 아직 초보이지만 이렇게 하나하나 고수님들께 제가 많이 배워가는거 같습니다
감사합니다^^
제가 아직 초보이지만 이렇게 하나하나 고수님들께 제가 많이 배워가는거 같습니다
감사합니다^^
li를 <li style="width:<?=(100/4)?>%"> 와 같은 형식으로 고치면 문제가 해결 되실듯
즉 width 100%를 한칸에 나오게 할 값 3개면 3이겠죠 이숫자로 나눠주면 li의 width가 바뀌정해져서 자동으로 다음칸으로 내려가게 될겁니다
즉 width 100%를 한칸에 나오게 할 값 3개면 3이겠죠 이숫자로 나눠주면 li의 width가 바뀌정해져서 자동으로 다음칸으로 내려가게 될겁니다
불량학생님 감사합니다
신경써주셔서 답변도 달아주시고 많이 배워갑니다^^
신경써주셔서 답변도 달아주시고 많이 배워갑니다^^