먼저 효과를 살펴보겠습니다
1단계: XHTML
2단계: 그래픽
공간과 대역폭을 절약하기 위해 채점 버튼인 gif 이미지를 사용합니다.사진
3단계: CSS
.별점 평가{ 목록 스타일: none; /* 기본 목록 이미지 글머리 기호 끄기*/
margin: 3px; /*이 항목 주위에 공간을 두지 않습니다.*/
padding: 0px /* 저는 항문입니다. 확실히 OL의 기본 패딩은 0px이지만 안전을 위해 0px로 설정하겠습니다.*/
width: 100px /*이 목록은 별 5개이고 각 별은 20px이므로 5 x여야 합니다. 20px = 100px wide*/
height: 20px; /* 각 별의 높이는 20px입니다. 이는 가로 목록이므로 목록 높이를 별의 높이로 설정합니다.*/
위치: 상대적; /*매우 중요합니다. 나중에 절대 위치를 사용하겠습니다. 우리는 상대적 절대 위치를 사용하려고 합니다.*/
background: url(star_ating.gif) 왼쪽 위 반복-x /* 이 이미지를 가로로 반복합니다. , 목록에는 별 5개가 있는 것으로 나타납니다.*/
}
우리가 알고 있는 코드에 따르면:
는 ul과 목록의 여백과 안쪽 여백을 제거합니다. -style , 높이 20px, 너비 100px
.star-rated li{입니다. padding:0px; / * 패딩 없음*/
margin:0px; /* 여백 없음*/
/**/ /*백슬래시 해킹으로 인해 IE5 Mac에서는 이 규칙을 볼 수 없습니다.*/
float: left; 브라우저, 우리는 왼쪽으로 떠 있을 것입니다. 이것은 수평 목록을 만듭니다*/
/* */ /* IE5 백슬래시 해킹을 종료합니다*/
}
입니다. { display:block; /* 높이와 너비를 조정할 수 있는 블록 항목이 필요합니다.*/
width:20px /* 쉬운 항목이지만 너비가 동일하기를 원합니다. star width*/
height: 20px ; /* 너비와 동일*/
text-꾸밈: none; /* 링크에서 밑줄 제거*/
text-indent: -9000px; [url =http://www.php.cn/]이미지 대체 기술[/url]을 사용하여 화면에서 텍스트를 들여쓰기하면 더 이상 텍스트를 보고 싶지 않습니다.*/
z-index: 20 ; /*이제 */
위치: 절대; /*이제 상위 UL을 기준으로 각 별의 정확한 x 및 y 좌표를 제어할 수 있습니다*/
padding: 0px; *다시 한번 강조하지만 패딩은 필요하지 않습니다*/
background-image:none; /* 별표를 표시하지 않습니다*/
}
13. .star-rated li a :hover{
14. background: url(star_ating.gif) 왼쪽 하단 /*여기가 바로 마법입니다*/
15. z-index: 1 /*이 별을 하단으로 이동합니다. z-index 스택*/
16 . left: 0px; /*이 별을 UL 상위 항목의 측면에 맞게 왼쪽으로 이동합니다.*/
17. }
다음으로 별점 3개, 별 4개를 표시하는 방법을 고려해야 합니다. 원리는 무엇입니까? 배경 이미지를 계속해서 가로로 반복한 다음 a와 a:hover의 너비를 정의하여 선택한 항목을 구분합니다. 스타 스타.
다음은 CSS입니다
.star-rated a.one-star{
왼쪽: 0px;
}
. 별 등급 a.one-star:hover{
너비:20px;
}
.star-등급 a.two-stars{
왼쪽:20px;
}
. 별 등급 a.two-stars:hover{
너비: 40px;
}
.star-등급 a.세 별{
왼쪽: 40px;
}
. 별 등급 a.세 별:hover{
너비: 60px;
}
.star-등급 a.별 네 개{
왼쪽: 60px;
}
. 별 등급 a.four-stars:hover{
너비: 80px;
}
.star-rated a.five-stars{
왼쪽: 80px;
}
. star -rated a.five-stars:hover{
width: 100px;
}
이 시점에서 제작이 완료됩니다
첫번째 모델 별 반 개 상황과 초기 별 등급이 없는 상황을 무시하고 다음에는 이 문제를 해결해 보겠습니다.
1단계. 동작 확인
사진 1
동작 확인
2단계: XHTML
그리고 첫 번째는 모델은 유사하지만 유일한 차이점은
초기값 정의
3단계: 별 이미지
첫 번째 별은 null 값이고 두 번째 별은 별 3개로 이미지를 만듭니다. star는 null 값입니다. 첫 번째는 선택할 값이고 세 번째는 실제 값입니다.
그림 2
4단계: CSS, 마법
.star-rated li.current -등급{
배경: url(star_ating.gif) 왼쪽 하단;
위치: 절대;
높이: 30px;
디스플레이: 블록;
텍스트 들여쓰기: -9000px;
z-index: 1;
}
컨테이너 ul의 상대적 위치를 상속받지 않기 위해 position:absolute는 각 별의 높이를 사용합니다. height:30px; 나머지는 텍스트를 숨기고 정렬을 정의합니다.
null 값 CSS
.star-rated{
…
배경: url(star_ating.gif) 왼쪽 상단 반복-x;
}
css 값 선택
.star-rated li a:hover{
background: url(star_ating.gif) left center;
…
}
물론 선택에 따라 초기값이 변경되는데 어떻게 변경하나요?
이 코드를 읽고 나면 그 이유를 아실 거라고 믿습니다. 그럼 너비가 무엇인가요? ? 계산은 무엇입니까?
평균 등급|평균: 3.5
각 별 너비|각 별 너비: 30px;
너비 설정|너비 설정: 3.5 * 30 = 105픽셀
이 새로운 모델을 살펴보겠습니다
* 예 1: 150 x 30 별 등급 시스템
* 예 2: 125 x 25 별 등급 시스템
* 예 3: 25 x 125 세로 별 등급 시스템 시스템
PHP를 사용하여 구현합니다
첫 번째는 구현 원리입니다
이전보다 별점 획득 CSS I, II이지만 onclick을 식별할 수 있고 데이터가 기록되어 데이터베이스에 저장된 다음 계산을 위해 데이터베이스에서 데이터를 호출하면
현재 평균을 얻을 수 있음을 알 수 있습니다. 점수 - 현재 점수.
1. 데이터베이스를 생성하는 SQL은 다음과 같습니다
CREATE TABLE ratings(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
total_votes INT NOT NULL,
total_value INT NOT NULL,
which_id INT NOT NULL,
which_table VARCHAR(255),
Used_ips LONGTEXT NULL
);
2. 매개변수 파일 참조
require("connectDB.php");
require("closeDB.php");
require( "tableName.php");
require("openDB.php");
?>
3. 투표 프로그램 표시 및 투표 데이터 프로그램 업데이트
$rated_posted=$_GET['vote'];//별 값으로 변수를 전달했습니다
$id =$_GET['id'];
$query=mysql_query("SELECT total_votes, total_value, Used_ips FROM $tableName WHERE id='".$id."' ")or die(" 오류: " .mysql_error( ));
$numbers=mysql_fetch_assoc($query);
$checkIP=unserialize($numbers['used_ips']);
$count=$numbers['total_votes'];/ /총 투표 수
$current_rated=$numbers['total_value'];//합계되어 저장된 총 평가 수
$sum=$ating_posted+$current_ating;// 현재 투표 값과 총 투표 값
$tense=($count==1) ? "vote" : "votes";//복수형 vote/vote
$voted=@mysql_fetch_assoc(@mysql_query("SELECT title FROM $tableName WHERE Used_ips LIKE '%".$_SERVER['REMOTE_ADDR']."%' AND id='$id' ")); //패턴 일치 ip:Bramus가 제안함! http://www.php.cn/ - 이 변수는 투표한 이전 IP 주소를 검색하여 true 또는 false를 반환합니다
if($voted){
echo "
".
"< ;ul class ="star-rated">".
"
"
"
"
"
"
"".
"
평점: {".$count." ".$tense." 캐스트}
이전에 투표하셨습니다. p>
}else{
if(isset($_GET['vote'])) {
if($sum==0){
$add=0;//첫 번째 투표가 집계되었는지 확인
}else{
$add=$count +1; //현재 투표 수 증가
}
if(is_array($checkIP)){
array_push($checkIP,$_SERVER['REMOTE_ADDR']);//if 배열입니다. 즉, 이미 다른 값을 입력한 항목이 있습니다
}else{
$checkIP=array($_SERVER['REMOTE_ADDR']);//첫 번째 항목에 대해
}
$ insert=serialize($checkIP);
mysql_query("UPDATE $tableName SET total_votes='".$add."', total_value='".$sum."', Used_ips='".$insert ."' WHERE id='".$_GET['id']."'");
echo "
평점: ".@ number_format($sum/$ added,2)." {".$ added." ".$tense." 캐스트} 투표해 주셔서 감사합니다! p>
";//업데이트된 투표 값 표시}else{
?>
4. 방문객 평가 프로그램
방법 이 튜토리얼이 이해되셨나요?
> ;
5.最新评分结果提示
echo " 평점: ".@number_format($sum/$count,2)." {".$count." ".$tense." 캐스트}
} // end isset get vote
} //end voted true, false
?>

CSS 그리드는 복잡하고 반응이 좋은 웹 레이아웃을 만드는 강력한 도구입니다. 디자인을 단순화하고 접근성을 향상 시키며 이전 방법보다 더 많은 제어를 제공합니다.

기사는 반응 형 설계에서 공간의 효율적인 정렬 및 분포를위한 레이아웃 방법 인 CSS Flexbox에 대해 설명합니다. Flexbox 사용을 설명하고 CSS 그리드와 비교하고 브라우저 지원 세부 사항을 설명합니다.

이 기사는 Viewport Meta 태그, 유연한 그리드, 유체 미디어, 미디어 쿼리 및 상대 장치를 포함하여 CSS를 사용하여 반응 형 웹 사이트를 만드는 기술에 대해 설명합니다. 또한 CSS 그리드 및 Flexbox를 함께 사용하여 CSS 프레임 워크를 권장합니다.

이 기사는 요소 치수 계산 방법을 제어하는 CSS 박스 크기 속성에 대해 설명합니다. Content-Box, Border-Box 및 Padding-Box와 같은 값과 레이아웃 설계 및 형태 정렬에 미치는 영향을 설명합니다.

기사는 CSS, 주요 특성 및 JavaScript와 결합 된 애니메이션 작성에 대해 논의합니다. 주요 문제는 브라우저 호환성입니다.

기사는 3D 변환, 주요 속성, 브라우저 호환성 및 웹 프로젝트에 대한 성능 고려 사항에 대한 CSS 사용에 대해 논의합니다. (문자 수 : 159)

이 기사는 CSS 그라디언트 (선형, 방사형, 반복)를 사용하여 웹 사이트 비주얼을 향상시키고 깊이, 초점 및 현대적인 미학을 추가합니다.

기사는 CSS의 의사 요소, HTML 스타일을 향상시키는 데 사용 및 의사 급의 차이점에 대해 설명합니다. 실제 사례를 제공합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

드림위버 CS6
시각적 웹 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
