Dooratre commited on
Commit
b5d0134
·
verified ·
1 Parent(s): c116d70

Upload 17 files

Browse files
Files changed (17) hide show
  1. ai_forward.py +227 -0
  2. data/1.txt +138 -0
  3. data/10.txt +929 -0
  4. data/11.txt +325 -0
  5. data/12.txt +428 -0
  6. data/13.txt +412 -0
  7. data/2.txt +234 -0
  8. data/3.txt +629 -0
  9. data/4.txt +943 -0
  10. data/5.txt +475 -0
  11. data/6.txt +1249 -0
  12. data/7.txt +1090 -0
  13. data/8.txt +1244 -0
  14. data/9.txt +356 -0
  15. data/bissan.txt +40 -0
  16. data/system.txt +40 -0
  17. templates/index.html +1162 -0
ai_forward.py ADDED
@@ -0,0 +1,227 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ import json
3
+ import re
4
+ from typing import Optional, List, Dict, Any
5
+
6
+ class AIForwarder:
7
+ def __init__(self, api_url: str, system_prompt_file: str = "summary.txt"):
8
+ """
9
+ Initialize the AI Forwarder
10
+
11
+ Args:
12
+ api_url: The API endpoint URL
13
+ system_prompt_file: Path to the file containing system prompt
14
+ """
15
+ self.api_url = api_url
16
+ self.system_prompt = self._load_system_prompt(system_prompt_file)
17
+
18
+ def _load_system_prompt(self, file_path: str) -> str:
19
+ """Load system prompt from file"""
20
+ try:
21
+ with open(file_path, 'r', encoding='utf-8') as f:
22
+ content = f.read().strip()
23
+ print(f"✓ System prompt loaded from {file_path}")
24
+ return content
25
+ except FileNotFoundError:
26
+ print(f"⚠ Warning: {file_path} not found. Using default prompt.")
27
+ return self._get_default_prompt()
28
+
29
+ def _get_default_prompt(self) -> str:
30
+ """Default system prompt for sheet forwarding"""
31
+ return """You are an AI assistant that helps users access different sheets.
32
+ When a user requests a specific sheet number, respond with the format: <forward>NUMBER</forward>
33
+ For example:
34
+ - User: "I want sheet 3" → Response: "<forward>3</forward>"
35
+ - User: "Show me sheet number 5" → Response: "<forward>5</forward>"
36
+ - User: "Can I see the second sheet?" → Response: "<forward>2</forward>"
37
+
38
+ Always extract the sheet number from the user's request and format it properly."""
39
+
40
+ def _extract_sheet_number(self, response: str) -> Optional[int]:
41
+ """Extract sheet number from AI response"""
42
+ match = re.search(r'<forward>(\d+)</forward>', response)
43
+ if match:
44
+ return int(match.group(1))
45
+ return None
46
+
47
+ def _clean_chat_history(self, chat_history: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
48
+ """
49
+ Remove any existing system messages from chat history
50
+
51
+ Args:
52
+ chat_history: Original chat history
53
+
54
+ Returns:
55
+ Cleaned chat history without system messages
56
+ """
57
+ cleaned = []
58
+ for message in chat_history:
59
+ # Skip system messages
60
+ if message.get("role") != "system":
61
+ cleaned.append(message)
62
+ return cleaned
63
+
64
+ def process_chat_history(
65
+ self,
66
+ chat_history: List[Dict[str, Any]],
67
+ temperature: float = 0.9,
68
+ top_p: float = 0.95,
69
+ max_tokens: Optional[int] = 1000
70
+ ) -> Dict[str, Any]:
71
+ """
72
+ Process chat history and get AI response
73
+ This is the main function to use when importing this module
74
+
75
+ Args:
76
+ chat_history: List of chat messages with roles (user/assistant)
77
+ Example: [
78
+ {"role": "user", "content": "I want sheet 3"},
79
+ {"role": "assistant", "content": "Sure!"},
80
+ {"role": "user", "content": "Show me sheet 5"}
81
+ ]
82
+ temperature: Sampling temperature
83
+ top_p: Nucleus sampling parameter
84
+ max_tokens: Maximum tokens to generate
85
+
86
+ Returns:
87
+ Dictionary with response and extracted sheet number
88
+ """
89
+ # Clean chat history (remove any system messages)
90
+ cleaned_history = self._clean_chat_history(chat_history)
91
+
92
+ # Add our system prompt at the beginning
93
+ final_history = [{"role": "system", "content": self.system_prompt}]
94
+ final_history.extend(cleaned_history)
95
+
96
+ # Prepare request payload
97
+ payload = {
98
+ "user_input": None, # No user input, using chat history
99
+ "chat_history": final_history,
100
+ "temperature": temperature,
101
+ "top_p": top_p,
102
+ }
103
+
104
+ try:
105
+ # Send request to API
106
+ response = requests.post(
107
+ self.api_url,
108
+ json=payload,
109
+ headers={"Content-Type": "application/json"},
110
+ timeout=30
111
+ )
112
+ response.raise_for_status()
113
+
114
+ # Parse response
115
+ result = response.json()
116
+ assistant_response = result.get("assistant_response", "")
117
+
118
+ # Extract sheet number if present
119
+ sheet_number = self._extract_sheet_number(assistant_response)
120
+
121
+ return {
122
+ "success": True,
123
+ "response": assistant_response,
124
+ "sheet_number": sheet_number,
125
+ "raw_response": result
126
+ }
127
+
128
+ except requests.exceptions.RequestException as e:
129
+ return {
130
+ "success": False,
131
+ "error": str(e),
132
+ "response": None,
133
+ "sheet_number": None
134
+ }
135
+
136
+ def forward_single_message(
137
+ self,
138
+ user_input: str,
139
+ previous_history: Optional[List[Dict[str, Any]]] = None
140
+ ) -> Dict[str, Any]:
141
+ """
142
+ Forward a single user message (with optional previous history)
143
+
144
+ Args:
145
+ user_input: User's message
146
+ previous_history: Optional previous chat history
147
+
148
+ Returns:
149
+ Dictionary with response and sheet number
150
+ """
151
+ chat_history = previous_history.copy() if previous_history else []
152
+ chat_history.append({"role": "user", "content": user_input})
153
+
154
+ return self.process_chat_history(chat_history)
155
+
156
+
157
+ # Standalone testing
158
+ if __name__ == "__main__":
159
+ # Initialize forwarder
160
+ api_url = "https://dooratre-xx-gpt-5.hf.space/chat"
161
+ forwarder = AIForwarder(api_url)
162
+
163
+ print("\n" + "="*50)
164
+ print("AI Sheet Forwarder - Testing Mode")
165
+ print("="*50 + "\n")
166
+
167
+ # Test with chat history
168
+ print("Test 1: Processing chat history")
169
+ print("-" * 50)
170
+
171
+ test_history = [
172
+ {"role": "user", "content": "Hello!"},
173
+ {"role": "assistant", "content": "Hi! How can I help you?"},
174
+ {"role": "user", "content": "I want sheet number 3"}
175
+ ]
176
+
177
+ result = forwarder.process_chat_history(test_history)
178
+
179
+ if result["success"]:
180
+ print(f"AI Response: {result['response']}")
181
+ if result["sheet_number"]:
182
+ print(f"✓ Sheet {result['sheet_number']} detected")
183
+ else:
184
+ print(f"✗ Error: {result['error']}")
185
+
186
+ print("\n" + "="*50)
187
+ print("Interactive Mode (type 'quit' to exit)")
188
+ print("="*50 + "\n")
189
+
190
+ conversation_history = []
191
+
192
+ while True:
193
+ try:
194
+ user_input = input("YOU: ").strip()
195
+
196
+ if user_input.lower() == 'quit':
197
+ print("Goodbye!")
198
+ break
199
+
200
+ if not user_input:
201
+ continue
202
+
203
+ # Add user message to history
204
+ conversation_history.append({"role": "user", "content": user_input})
205
+
206
+ # Process the conversation
207
+ result = forwarder.process_chat_history(conversation_history)
208
+
209
+ if result["success"]:
210
+ print(f"AI: {result['response']}")
211
+
212
+ # Add assistant response to history
213
+ conversation_history.append({
214
+ "role": "assistant",
215
+ "content": result['response']
216
+ })
217
+
218
+ if result["sheet_number"]:
219
+ print(f"✓ Sheet {result['sheet_number']} requested\n")
220
+ else:
221
+ print(f"✗ Error: {result['error']}\n")
222
+
223
+ except KeyboardInterrupt:
224
+ print("\n\nGoodbye!")
225
+ break
226
+ except Exception as e:
227
+ print(f"✗ Unexpected error: {e}\n")
data/1.txt ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (1-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet
7
+ Programming
8
+
9
+ [ ITGS226 ]
10
+
11
+ المحاضرة الأولى
12
+
13
+ أ. وفاء حسين المصباحي
14
+ أستاذة المادة
15
+
16
+ CSS3 HTML5 JS Cloud XML flat PHP
17
+ header .com footer .net
18
+
19
+ ربيع 2025
20
+
21
+ -------- Page 2 (1-02.jpg) ---------
22
+ المواضيع التي سيتم دراستها في مقرر :
23
+ مقدمة في برمجة الإنترنت
24
+ Introduction to Internet Programming
25
+
26
+ 1 HTML -> Hyper Text Markup Language.
27
+
28
+ ☐ CSS -> Cascading Style Sheets.
29
+
30
+ ☐ JavaScript.
31
+
32
+ -------- Page 3 (1-03.jpg) ---------
33
+ References المراجع
34
+
35
+ Books:
36
+
37
+ ▪ HTML, CSS, & JavaScript® All-in-One For Dummies®
38
+
39
+ Published by: John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030-5774, www.wiley.com
40
+
41
+ Copyright © 2023 by John Wiley & Sons, Inc., Hoboken, New Jersey Published simultaneously in Canada.
42
+
43
+ Websites:
44
+
45
+ ▪ w3schools.com
46
+
47
+ ▪ tutorialrepublic.com
48
+
49
+ ▪ elzero.org
50
+
51
+ 1
52
+
53
+ -------- Page 4 (1-04.jpg) ---------
54
+ Evaluation التقييم
55
+
56
+ Mid-term Exam 35%
57
+ Assignments 10%
58
+ Final Practical Exam 15%
59
+ Final Exam 40%
60
+
61
+ 2
62
+
63
+ -------- Page 5 (1-05.jpg) ---------
64
+ How to access to the web كيفية الوصول إلى الويب
65
+
66
+ ➤ Browser:
67
+ By typing web address or following a link.
68
+
69
+ ➤ Web servers:
70
+ Special computer that hosts the website.
71
+
72
+ ➤ Devices:
73
+ Accessing websites on various devices: desktop computers, laptops, tablets, and mobile phones.
74
+
75
+ 3
76
+
77
+ -------- Page 6 (1-06.jpg) ---------
78
+ Terminologies المصطلحات
79
+
80
+ ➤ WEBSITE: a collection of one or more web pages linked together in a meaningful way that, as a whole, describes a body of information.
81
+
82
+ ➤ WEB PAGE: a single document on a website, usually consisting of HTML document and any items that are displayed within that document, such as inline images.
83
+
84
+ ➤ HOME PAGE: The entry page for a website, which can link to additional pages on the same website or pages on other sites.
85
+
86
+ ➤ WEB BROWSER: is an application which is used to view pages and navigate the World Wide Web. Popular examples: Firefox, Internet Explorer, Safari, Chrome, and Opera.
87
+
88
+ 4
89
+
90
+ -------- Page 7 (1-07.jpg) ---------
91
+ Terminologies المصطلحات cont’d
92
+
93
+ ➤ WEB SERVER: is a program runs on a computer, responsible for replying to web browser requests for whatever content is associated with a particular URL.
94
+
95
+ ➤ UNIFORM RESOURCE LOCATOR (URL): provides a universal, consistent method for finding and accessing information. URL is an address that points to a specific document or bit of information on the Internet. For example, http://www.google.com).
96
+
97
+ ➤ DOMAIN NAME SERVICE (DNS): is an additional Internet service which is used by the browser to find the IP address of any requested web server.
98
+
99
+ ➤ HYPER TEXT TRANSFER PROTOCOL (HTTP): is a communication standard governing the requests and responses that take place between the browser running on the end user’s computer and the web server.
100
+
101
+ 5
102
+
103
+ -------- Page 8 (1-08.jpg) ---------
104
+ HTML & CSS
105
+
106
+ Web
107
+
108
+ HTML
109
+ لبناء هيكل الموقع
110
+
111
+ Web
112
+
113
+ HTML
114
+ CSS
115
+ لتنسيق هيكل الموقع و
116
+ إضافة الألوان و ...
117
+
118
+ 6
119
+
120
+ -------- Page 9 (1-09.jpg) ---------
121
+ HTML & CSS
122
+
123
+ web
124
+ انشاء و برمجة المواقع
125
+
126
+ Front End
127
+ تصميم المواقع
128
+
129
+ Back End
130
+ برمجة المواقع
131
+
132
+ أول خطوة ليك
133
+ HTML
134
+
135
+ -------- Page 10 (1-10.jpg) ---------
136
+ Thank you
137
+
138
+
data/10.txt ADDED
@@ -0,0 +1,929 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #10-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+ [ ITGS226 ]
8
+
9
+ المحاضرة العاشرة
10
+
11
+ أستاذة المادة
12
+ أ. وفاء حسين المصباحي
13
+
14
+ HTML5
15
+ JS
16
+ Cloud
17
+ XML
18
+ CSS3
19
+ flat
20
+ PHP
21
+ header
22
+ .com
23
+ footer
24
+ .net
25
+
26
+ 2025 ربيع
27
+
28
+ -------- Page 2 (Lecture #10-02.jpg) ---------
29
+ المواضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الانترنت
30
+ Introduction to Internet Programming
31
+ المحاضرة العاشرة
32
+
33
+ CSS - Cascading Style Sheets
34
+
35
+ 1
36
+ WHAT IS CSS?
37
+
38
+ WHAT CAN DO WITH CSS?
39
+
40
+ INCLUDING CSS
41
+
42
+ INLINE STYLES
43
+
44
+ INTERNAL STYLE SHEETS
45
+
46
+ EXTERNAL STYLE SHEETS
47
+
48
+ -------- Page 3 (Lecture #10-03.jpg) ---------
49
+ CSS SYNTAX
50
+
51
+ COMMENTS IN CSS
52
+
53
+ CASE SENSITIVITY IN CSS
54
+
55
+ CSS SELECTORS
56
+
57
+ CSS COLOR
58
+
59
+ CSS BACKGROUND
60
+
61
+ Examples
62
+
63
+ -------- Page 4 (Lecture #10-04.jpg) ---------
64
+ CSS - Cascading Style Sheets
65
+
66
+ WHAT IS CSS?
67
+
68
+ • CSS is the key presentational technology that is used in website design.
69
+ • CSS stands for Cascading Style Sheets.
70
+ • CSS is a standard style sheet language used for describing the presentation (i.e. the layout and formatting) of the web pages.
71
+ • CSS was designed to enable the separation of presentation and content.
72
+ • CSS3 is the latest version of the CSS specification.
73
+ • CSS3 adds several new styling features and improvements to enhance the web presentation capabilities.
74
+
75
+ 1
76
+
77
+ -------- Page 5 (Lecture #10-05.jpg) ---------
78
+ CSS - Cascading Style Sheets
79
+
80
+ WHAT CAN DO WITH CSS?
81
+
82
+ • Easily apply same style rules on multiple elements.
83
+
84
+ • Control the presentation of multiple pages of a website with a single style sheet.
85
+
86
+ • Change the position of an element on a web page without changing the markup.
87
+
88
+ • Alter the display of existing HTML elements.
89
+
90
+ • Create animations and transitions effects without using any JavaScript.
91
+
92
+ • Create print friendly version of your web pages.
93
+
94
+ 2
95
+
96
+ -------- Page 6 (Lecture #10-06.jpg) ---------
97
+ CSS - Cascading Style Sheets
98
+
99
+ INCLUDING CSS
100
+
101
+ • CSS can either be attached as a separate document or embedded in the HTML document itself.
102
+
103
+ • There are three methods of including CSS in an HTML document:
104
+
105
+ ○ Inline styles — Using the style attribute in the HTML start tag.
106
+
107
+ ○ Embedded styles — Using the <style> element in the head section of a document.
108
+
109
+ ○ External style sheets — Using the <link> element, pointing to an external CSS file.
110
+
111
+ Note:
112
+
113
+ - The inline styles have the highest priority, and the external style sheets have the lowest.
114
+
115
+ - Among all the three methods, using external style sheet is the best method for defining and applying styles to the HTML documents
116
+
117
+ 3
118
+
119
+ -------- Page 7 (Lecture #10-07.jpg) ---------
120
+ CSS - Cascading Style Sheets
121
+
122
+ INLINE STYLES
123
+
124
+ - Inline styles are used to apply the unique style rules to an element by putting the CSS rules directly into the start tag.
125
+
126
+ - It can be attached to an element using the style attribute.
127
+
128
+ <h1 style="color:red; font-size:30px;">
129
+ This is a heading
130
+ </h1>
131
+
132
+ <p style="color:green; font-size:22px;">
133
+ This is a paragraph.
134
+ </p>
135
+
136
+ <div style="color:blue; font-size:14px;">
137
+ This is some text content.
138
+ </div>
139
+
140
+ - Using the inline styles are generally considered as a bad practice. As it causes the presentation to become mixed with the content of the document; which negates the purpose of using CSS.
141
+
142
+ 4
143
+
144
+ -------- Page 8 (Lecture #10-08.jpg) ---------
145
+ CSS - Cascading Style Sheets
146
+
147
+ INTERNAL STYLE SHEETS
148
+
149
+ • Embedded style sheets are defined in the <head> section of an HTML document using the <style> element.
150
+
151
+ <head>
152
+ …………
153
+
154
+ <title>My HTML Document</title>
155
+
156
+ <style>
157
+ body { background-color: YellowGreen; }
158
+ p { color: #fff; }
159
+ </style>
160
+
161
+ …………
162
+
163
+ </head>
164
+
165
+ 5
166
+
167
+ -------- Page 9 (Lecture #10-09.jpg) ---------
168
+ CSS - Cascading Style Sheets
169
+
170
+ EXTERNAL STYLE SHEETS
171
+
172
+ • An external style sheet is ideal when the style is applied to many pages of the website.
173
+
174
+ • An external style sheet holds all the style rules in a separate document that you can link from any HTML file on your site.
175
+
176
+ • External style sheets are the most flexible because with an external style sheet, you can change the look of an entire website by changing just one file.
177
+
178
+ • An external style sheet can be linked to an HTML document using the <link> tag. The <link> tag goes inside the <head> section.
179
+
180
+
181
+ <head>
182
+ ............
183
+ <title>My HTML Document</title>
184
+
185
+ <link rel="stylesheet" type="text/css" href="..........css">
186
+
187
+ ............
188
+ </head>
189
+
190
+ 6
191
+
192
+ -------- Page 10 (Lecture #10-10.jpg) ---------
193
+ CSS - Cascading Style Sheets
194
+
195
+ CSS SYNTAX
196
+
197
+ • A CSS rule have two main parts, a selector and one or more declarations:
198
+
199
+ selector {
200
+ property:value;
201
+ property:value;
202
+ property:value;
203
+
204
+ }
205
+
206
+ h1 { color: blue; text-align: center; }
207
+
208
+ • The selector specifies which element or elements in the HTML page the CSS rule applies to.
209
+
210
+ • The declarations within the block determines how the elements are formatted on a webpage.
211
+
212
+ • Each declaration consists of a property and a value separated by a colon (:) and ending with a semicolon (;), and the declaration groups are surrounded by curly braces {}.
213
+
214
+ 7
215
+
216
+ -------- Page 11 (Lecture #10-11.jpg) ---------
217
+ CSS - Cascading Style Sheets
218
+
219
+ CSS SYNTAX
220
+
221
+ - The property is the style attribute you want to change; they could be font, color, background, etc.
222
+
223
+ - Each property has a value, for example color property can have value either blue or #0000FF etc.
224
+
225
+ h1 {color:blue; text-align:center;}
226
+
227
+ - h1 is a selector, color and text-align are the CSS properties, and the given blue and center are the corresponding values of these properties.
228
+
229
+ - A CSS declaration always ends with a semicolon ";", and the declaration groups are always surrounded by the curly brackets "{}".
230
+
231
+ -------- Page 12 (Lecture #10-12.jpg) ---------
232
+ CSS - Cascading Style Sheets
233
+
234
+ COMMENTS IN CSS
235
+
236
+ - A CSS comment begins with /*, and ends with */
237
+
238
+ - Comments are usually added with the purpose of making the source code easier to understand. It may help other developer (or you in the future when you edit the source code) to understand what you were trying to do with the CSS.
239
+
240
+ - Comments are significant to programmers but ignored by browsers.
241
+
242
+ div {
243
+ background-attachment: fixed; /* default value: scroll */
244
+ }
245
+
246
+ -------- Page 13 (Lecture #10-13.jpg) ---------
247
+ CSS - Cascading Style Sheets
248
+
249
+ CASE SENSITIVITY IN CSS
250
+
251
+ • CSS property names and many values are not case-sensitive.
252
+
253
+ • Whereas, CSS selectors are usually case-sensitive.
254
+
255
+ • Therefore, to be on safer side, you should assume that all components of CSS rules are case-sensitive.
256
+
257
+ 10
258
+
259
+ -------- Page 14 (Lecture #10-14.jpg) ---------
260
+ CSS - Cascading Style Sheets
261
+
262
+ CSS SELECTORS
263
+
264
+ - Selectors are one of the most important aspects of CSS as they allow you to target specific elements on your web page in various ways so that they can be styled.
265
+
266
+ - Several types of selectors are available in CSS:
267
+
268
+ 1. Universal Selector
269
+
270
+ • The universal selector, denoted by an asterisk (*), matches every single element on the page.
271
+
272
+ * { margin: 0; padding: 0; }
273
+
274
+ • The style rules inside the * selector will be applied to every element in a document.
275
+
276
+ • It is recommended not to use the universal selector (*) too often, Use element type or class selector instead.
277
+
278
+ 2. Element Type Selectors
279
+
280
+ p { color: blue; }
281
+
282
+ • The style rules inside the p selector will be applied on every <p> element (or paragraph) in the document and color it blue, regardless of their position in the document tree.
283
+
284
+ 11
285
+
286
+ -------- Page 15 (Lecture #10-15.jpg) ---------
287
+ CSS - Cascading Style Sheets
288
+
289
+ CSS SELECTORS
290
+
291
+ 3. Id Selectors
292
+ • The id selector is used to define style rules for a single or unique element.
293
+ • The id selector is defined with a hash sign (#) immediately followed by the id value.
294
+ #error { color: red; }
295
+ • This style rule renders the text of an element in red, whose id attribute is set to error.
296
+
297
+ 4. Class Selectors
298
+ • The class selectors can be used to select any HTML element that has a class attribute. All
299
+ the elements having that class will be formatted according to the defined rule.
300
+ • The class selector is defined with a period sign (.) immediately followed by the class value.
301
+ .blue { color: blue; }
302
+ • The above style rules renders the text in blue of every element in the document that
303
+ has class attribute set to blue.
304
+ p.blue { color: blue; }
305
+ • The style rule inside the selector p.blue renders the text in blue of only those <p> elements
306
+ that has class attribute set to blue, and has no effect on other paragraphs.
307
+
308
+ -------- Page 16 (Lecture #10-16.jpg) ---------
309
+ CSS - Cascading Style Sheets
310
+
311
+ CSS SELECTORS
312
+
313
+ 5. Grouping Selectors
314
+
315
+ • Often several selectors in a style sheet share the same style rules declarations. You can group them into a comma-separated list to minimize the code in your style sheet. It also prevents you from repeating the same style rules over and over again.
316
+
317
+ h1, h2, h3 { font-weight: normal; }
318
+
319
+ • The same style rule font-weight: normal; is shared by the selectors h1, h2 and h3, so it can be grouped in a comma-separated list.
320
+
321
+ 13
322
+
323
+ -------- Page 17 (Lecture #10-17.jpg) ---------
324
+ CSS - Cascading Style Sheets
325
+
326
+ CSS COLOR
327
+
328
+ - The color property defines the text color of an element.
329
+
330
+ - Colors in CSS most often specified in the following formats:
331
+ • a color keyword - like "red", "green", "blue", "transparent", etc.
332
+ h1 { color: red; }
333
+ • a HEX value - like "#ff0000", "#00ff00", etc.
334
+ p { color: #00ff00; }
335
+ • an RGB value - like "rgb(255, 0, 0) "
336
+ h1 { color: rgb(255, 165, 0); }
337
+
338
+ - The color names are case-insensitive.
339
+ - The color property normally inherits the color value from their parent element,
340
+ - rgb(255, 255, 255) ----- the color would be white.
341
+ - rgb(0, 0, 0) ----- the color would be black.
342
+
343
+ 14
344
+
345
+ -------- Page 18 (Lecture #10-18.jpg) ---------
346
+ CSS - Cascading Style Sheets
347
+
348
+ CSS BACKGROUND
349
+
350
+ • CSS provide several properties for styling the background of an element.
351
+
352
+ • The background-color property is used to set the background color of an element ( + opacity property).
353
+ background-color:#CF1A11;
354
+
355
+ • The background-image property set an image as a background of an HTML element. By default browser repeats the background image both horizontally and vertically to fill the entire area of an element.
356
+ background-image:url(‘image.jpg’);
357
+
358
+ • The background-repeat property allows you to control how a background image is repeated in the background of an element. The background image can be repeated horizontally (x-axis) using repeat-x or vertically (y-axis) using repeat-y preventing the repetition using no-repeat. Space and round are other values to specify repetition.
359
+ background-repeat:no-repeat;
360
+ background-repeat:repeat;
361
+ background-repeat:repeat-x;
362
+ background-repeat:repeat-y;
363
+
364
+ 15
365
+
366
+ -------- Page 19 (Lecture #10-19.jpg) ---------
367
+ CSS - Cascading Style Sheets
368
+
369
+ CSS BACKGROUND
370
+
371
+ • The background-position property is used to specify the position of the background image.
372
+
373
+ background-position:center center;
374
+ background-position:center top;
375
+ background-position:center bottom;
376
+ background-position:left top;
377
+ background-position:left center;
378
+ background-position:left bottom;
379
+ background-position:right top;
380
+ background-position:right center;
381
+ background-position:right bottom;
382
+
383
+ top left top center top right
384
+ center left center center center right
385
+ bottom left bottom center bottom right
386
+
387
+ • The background-clip property defines how far the background (color or image) should extend within an element. It has the values: border-box, padding-box or content-box.
388
+
389
+ • The background-origin property specifies the origin position (the background positioning area) of a background image. It has the same values of the clip property.
390
+
391
+ 16
392
+
393
+ -------- Page 20 (Lecture #10-20.jpg) ---------
394
+ CSS - Cascading Style Sheets
395
+
396
+ CSS BACKGROUND
397
+
398
+ • The background-size property Specifies the size of the background image(s). It has four values: auto (original size), cover (resize to cover the container), contain (fully visible), length (width and height) or percentage (% of the parent).
399
+
400
+ div {
401
+
402
+ background-size: cover; /* default value: auto */
403
+
404
+ background-size: contain;
405
+
406
+ }
407
+
408
+ background-size:
409
+
410
+ auto; 50% 100%; cover; contain;
411
+
412
+ -------- Page 21 (Lecture #10-21.jpg) ---------
413
+ CSS - Cascading Style Sheets
414
+
415
+ CSS BACKGROUND
416
+
417
+ • The background-shorthand property to specify all the background properties in one single property. When using the shorthand property the order of the property values is: background-color, background-image, background-repeat, background-attachment then background-position.
418
+
419
+ • The background-attachment property specifies whether the background image should scroll or be fixed.
420
+
421
+ div {
422
+ background-attachment: fixed; /* default value: scroll */
423
+ }
424
+
425
+ 18
426
+
427
+ -------- Page 22 (Lecture #10-22.jpg) ---------
428
+ CSS - Cascading Style Sheets
429
+
430
+ CSS BACKGROUND NOTES
431
+
432
+ • By default, a background-image is placed at the top-left corner of an element. Other values such as Left top, right center and center bottom. If you only specify one keyword, the other value will be “center“. The first value is the horizontal position and the second value is the vertical. The top left corner is 0% 0%. The right bottom corner is 100% 100%. If you only specify one value, the other value will be 50%. Default value when using percentage is: 0% 0%
433
+
434
+ • If two values are specified for the background-position property, the first value represents the horizontal position, and the second represents the vertical position. If only one value is specified, the second value is assumed to be center.
435
+
436
+ • It does not matter if one of the property values is missing in the background shorthand, as long as the other ones are in this order.
437
+
438
+ 19
439
+
440
+ -------- Page 23 (Lecture #10-23.jpg) ---------
441
+ Example 1 : INTERNAL STYLE SHEETS - Class Selectors - Element Type Selectors
442
+
443
+ <html lang="en">
444
+ <head>
445
+ <title> صفحة اختبار لخصائص الخلفية </title>
446
+ <meta charset='utf-8'>
447
+ <style type="text/css">
448
+ .firstP{
449
+ background-color:black;
450
+ color:white;
451
+ }
452
+ .secondP{
453
+ background-image:url('myPic.jpg');
454
+ background-repeat:no-repeat;
455
+ background-positive:center center;
456
+ }
457
+ p{direction:rtl;}
458
+ </style>
459
+ </head>
460
+ <body>
461
+ <p class="firstP">
462
+ العنصر الأول سيبدو بخلفية سوداء ولون نص أبيض
463
+ </p>
464
+ <p class="secondP">
465
+ العنصر الثاني سيبدو بخلفية صورية ولونها <br/><br/>
466
+ العنصر الثاني سيبدو بخلفية صورية ولونها <br/><br/>
467
+ <br/>
468
+ المساحة الكافية لعرض صورة الخلفية
469
+ </p>
470
+ </body>
471
+ </html>
472
+
473
+ 20
474
+
475
+ -------- Page 24 (Lecture #10-24.jpg) ---------
476
+ ( program#49.html ) عملي
477
+
478
+ EXPLORER
479
+ HTML LANGUAGE
480
+ program#36.html
481
+ program#37.html
482
+ program#38.html
483
+ program#39.html
484
+ program#40.html
485
+ program#41.html
486
+ program#42.html
487
+ program#43.html
488
+ program#44.html
489
+ program#45.html
490
+ program#46.html
491
+ program#47.html
492
+ program#48.html
493
+ program#49.html
494
+
495
+ program#49.html 1
496
+ program#49.html
497
+ html
498
+ head
499
+ style
500
+
501
+ <html lang="en">
502
+ <head>
503
+ <title> صفحة اختبار لخصائص الخلفية </title>
504
+ <meta charset='utf-8'>
505
+ <style type="text/css">
506
+ .firstP{
507
+ background-color:black;
508
+ color:white;
509
+ }
510
+ .secondP{
511
+ background-image:url('myPic.jpg');
512
+ background-repeat:no-repeat;
513
+ background-position:center center;
514
+ }
515
+ p{direction:rtl;}
516
+ </style>
517
+ </head>
518
+ <body>
519
+ <p class="firstP">
520
+ العنصر الأول سيبدو بخلفية سوداء، ولون نص أبيض
521
+ </p>
522
+
523
+ -------- Page 25 (Lecture #10-25.jpg) ---------
524
+ ( program#49.html ) عملي
525
+
526
+ صفحة اختبار لخصائص الخلف
527
+
528
+ العنصر الاول سندر بخلفية سوداء وبلون نص أبيض
529
+
530
+ العنصر الثاني سندر بخلفية صورة ولونها
531
+
532
+ العنصر الثاني سندر بخلفية صورة ولونها
533
+
534
+ المساحة الكافية لعرض صورة الخلفية
535
+
536
+ 22
537
+
538
+ -------- Page 26 (Lecture #10-26.jpg) ---------
539
+ Example 2 : INLINE STYLES
540
+
541
+ <html lang="en">
542
+ <head>
543
+ <title> صفحة اختبار </title>
544
+ <meta charset='utf-8'>
545
+ </head>
546
+ <body>
547
+
548
+ <h1 style="color:red; font-size:30px;">
549
+ This is a heading
550
+ </h1>
551
+
552
+ <p style="color:green; font-size:22px;">
553
+ This is a paragraph.
554
+ </p>
555
+
556
+ <div style="color:blue; font-size:14px;">
557
+ This is some text content.
558
+ </div>
559
+
560
+ </body>
561
+ </html>
562
+
563
+ 23
564
+
565
+ -------- Page 27 (Lecture #10-27.jpg) ---------
566
+ ( program#50.html ) عملي
567
+
568
+ EXPLORER
569
+ HTML LANGUAGE
570
+ program#36.html
571
+ program#37.html
572
+ program#38.html
573
+ program#39.html
574
+ program#40.html
575
+ program#41.html
576
+ program#42.html
577
+ program#43.html
578
+ program#44.html
579
+ program#45.html
580
+ program#46.html
581
+ program#47.html
582
+ program#48.html
583
+ program#49.html
584
+ program#50.html
585
+
586
+ OUTLINE
587
+ TIMELINE
588
+
589
+ program#50.html x
590
+
591
+ program#50.html html HTML
592
+
593
+ 1 <html lang="en">
594
+ 2 <head>
595
+ 3 <title> صفحة اختبار </title>
596
+ 4 <meta charset='utf-8'>
597
+ 5 </head>
598
+ 6 <body>
599
+ 7 <h1 style="color: red; font-size:30px;">
600
+ 8 This is a heading
601
+ 9 </h1>
602
+ 10
603
+ 11 <p style="color: green; font-size:22px;">
604
+ 12 This is a paragraph.
605
+ 13 </p>
606
+ 14
607
+ 15 <div style="color: blue; font-size:14px;">
608
+ 16 This is some text content.
609
+ 17 </div>
610
+ 18
611
+ 19 </body>
612
+ 20 </html>
613
+
614
+ File Edit Selection …
615
+ HTML language
616
+
617
+ Ln 2, Col 11 Spaces: 4 UTF-8 CRLF HTML
618
+
619
+ 24
620
+ 0 0 0
621
+
622
+ -------- Page 28 (Lecture #10-28.jpg) ---------
623
+ ( program#50.html ) عملي
624
+
625
+ This is a heading
626
+ This is a paragraph.
627
+ This is some text content.
628
+
629
+ -------- Page 29 (Lecture #10-29.jpg) ---------
630
+ Example 3 : INTERNAL STYLE SHEETS - Id Selectors
631
+
632
+ <html lang="en">
633
+ <head>
634
+ <title> صفحة اختبار </title>
635
+ <meta charset=‘utf-8’>
636
+ <style type="text/css">
637
+ #test1{
638
+ background-color:green;
639
+ font-size:30px;
640
+ color:white;
641
+ }
642
+ #test2{
643
+ color:red;
644
+ font-size:22px;
645
+ }
646
+ </style>
647
+ </head>
648
+ <body>
649
+ <h1 id="test1">This is a heading</h1>
650
+ <p id="test2">This is a paragraph.</p>
651
+ </body>
652
+ </html>
653
+
654
+ 26
655
+
656
+ -------- Page 30 (Lecture #10-30.jpg) ---------
657
+ ( program#51.html ) عملي
658
+
659
+ EXPLORER
660
+
661
+ HTML LANGUAGE
662
+ program#38.html
663
+ program#39.html
664
+ program#40.html
665
+ program#41.html
666
+ program#42.html
667
+ program#43.html
668
+ program#44.html
669
+ program#45.html
670
+ program#46.html
671
+ program#47.html
672
+ program#48.html
673
+ program#49.html
674
+ program#50.html
675
+ program#51.html
676
+
677
+ OUTLINE
678
+ TIMELINE
679
+
680
+ program#51.html html > body > p#test2
681
+ <html lang="en">
682
+ <head>
683
+ <title> صفحة اختبار </title>
684
+ <meta charset='utf-8'>
685
+ <style type="text/css">
686
+ #test1{
687
+ background-color: green;
688
+ font-size:30px;
689
+ color: white;
690
+ }
691
+
692
+ #test2{
693
+ color: red;
694
+ font-size:22px;
695
+ }
696
+ </style>
697
+ </head>
698
+ <body>
699
+ <h1 id="test1">This is a heading</h1>
700
+ <p id="test2">This is a paragraph.</p>
701
+ </body>
702
+ </html>
703
+
704
+ Ln 19, Col 16 Spaces: 4 UTF-8 CRLF HTML
705
+
706
+ 27
707
+
708
+ -------- Page 31 (Lecture #10-31.jpg) ---------
709
+ ( program#51.html ) عملي
710
+
711
+ This is a heading
712
+
713
+ This is a paragraph.
714
+
715
+ -------- Page 32 (Lecture #10-32.jpg) ---------
716
+ Example 4 : EXTERNAL STYLE SHEETS
717
+
718
+ <html lang="en">
719
+ <head>
720
+ <title> EXTERNAL STYLE SHEETS </title>
721
+ <meta charset='utf-8'>
722
+ <link rel="stylesheet" type="text/css" href="style.css">
723
+ </head>
724
+ <body>
725
+ <h1>Hello world!</h1>
726
+ <p>I ♥ CSS</p>
727
+ </body>
728
+ </html>
729
+
730
+ Style.css
731
+
732
+ h1 {
733
+ color: green;
734
+ text-decoration: underline;
735
+ }
736
+
737
+ p {
738
+ font-size: 25px;
739
+ font-family: 'Trebuchet MS', sans-serif;
740
+ }
741
+
742
+ -------- Page 33 (Lecture #10-33.jpg) ---------
743
+ ( program#52.html ) عملي
744
+
745
+ EXPLORER
746
+
747
+ HTML LANGUAGE
748
+ program#39.html
749
+ program#40.html
750
+ program#41.html
751
+ program#42.html
752
+ program#43.html
753
+ program#44.html
754
+ program#45.html
755
+ program#46.html
756
+ program#47.html
757
+ program#48.html
758
+ program#49.html
759
+ program#50.html
760
+ program#51.html
761
+ program#52.html
762
+ style.css
763
+
764
+ HTML language
765
+
766
+ program#52.html style.css
767
+
768
+ program#52.html > html > body
769
+ 1 <html lang="en">
770
+ 2 <head>
771
+ 3 <title> EXTERNAL STYLE SHEETS </title>
772
+ 4 <meta charset='utf-8'>
773
+ 5 <link rel="stylesheet" type="text/css" href="style.css">
774
+ 6 </head>
775
+ 7 <body>
776
+ 8 <h1>Hello world!</h1>
777
+ 9 <p>I ♥ CSS</p>
778
+ 10 </body>
779
+ 11 </html>
780
+
781
+ OUTLINE
782
+ TIMELINE
783
+
784
+ Ln 8, Col 1 Spaces: 4 UTF-8 CRLF HTML
785
+
786
+ 30
787
+
788
+ -------- Page 34 (Lecture #10-34.jpg) ---------
789
+ ( style.css ) عملي
790
+
791
+ EXPLORER
792
+
793
+ HTML LANGUAGE
794
+ program#39.html
795
+ program#40.html
796
+ program#41.html
797
+ program#42.html
798
+ program#43.html
799
+ program#44.html
800
+ program#45.html
801
+ program#46.html
802
+ program#47.html
803
+ program#48.html
804
+ program#49.html
805
+ program#50.html
806
+ program#51.html
807
+ program#52.html
808
+
809
+ style.css
810
+
811
+ program#52.html x
812
+ style.css x
813
+
814
+ style.css > h1
815
+
816
+ h1 {
817
+ color: green;
818
+ text-decoration: underline;
819
+ }
820
+
821
+ p {
822
+ font-size: 25px;
823
+ font-family: 'Trebuchet MS', sans-serif;
824
+ }
825
+
826
+ OUTLINE
827
+ TIMELINE
828
+
829
+ Ln 1, Col 1 (142 selected) Spaces: 4 UTF-8 CRLF CSS
830
+
831
+ -------- Page 35 (Lecture #10-35.jpg) ---------
832
+ ( program#52.html ) عملي
833
+
834
+ EXTERNAL STYLE SHEETS
835
+
836
+ Hello world!
837
+
838
+ I ♥ CSS
839
+
840
+ -------- Page 36 (Lecture #10-36.jpg) ---------
841
+ Example 5 : INTERNAL STYLE SHEETS
842
+
843
+ <html lang="en">
844
+ <head>
845
+ <title> INTERNAL STYLE SHEETS </title>
846
+ <meta charset='utf-8'>
847
+ <style type="text/css">
848
+ h1 {
849
+ color: green;
850
+ text-decoration: underline;
851
+ }
852
+
853
+ p {
854
+ font-size: 25px;
855
+ font-family: 'Trebuchet MS', sans-serif;
856
+ }
857
+ </style>
858
+ </head>
859
+ <body>
860
+ <h1>Hello world!</h1>
861
+ <p>I ♥ CSS</p>
862
+ </body>
863
+ </html>
864
+
865
+ 33
866
+
867
+ -------- Page 37 (Lecture #10-37.jpg) ---------
868
+ ( program#53.html ) عملي
869
+
870
+ EXPLORER
871
+ HTML LANGUAGE
872
+ program#41.html
873
+ program#42.html
874
+ program#43.html
875
+ program#44.html
876
+ program#45.html
877
+ program#46.html
878
+ program#47.html
879
+ program#48.html
880
+ program#49.html
881
+ program#50.html
882
+ program#51.html
883
+ program#52.html
884
+ program#53.html
885
+ style.css
886
+
887
+ OUTLINE
888
+ TIMELINE
889
+
890
+ program#53.html
891
+ program#53.html html head style
892
+ 1 <html lang="en">
893
+ 2 <head>
894
+ 3 <title> INTERNAL STYLE SHEETS </title>
895
+ 4 <meta charset='utf-8'>
896
+ 5 <style type="text/css">
897
+ 6 h1 {
898
+ 7 color: green;
899
+ 8 text-decoration: underline;
900
+ 9 }
901
+ 10
902
+ 11 p {
903
+ 12 font-size: 25px;
904
+ 13 font-family: 'Trebuchet MS', sans-serif;
905
+ 14 }
906
+ 15 </style>
907
+ 16 </head>
908
+ 17 <body>
909
+ 18 <h1>Hello world!</h1>
910
+ 19 <p>I ♥ CSS</p>
911
+ 20 </body>
912
+ 21
913
+ Ln 5, Col 22 Spaces: 4 UTF-8 CRLF HTML
914
+
915
+ 34
916
+
917
+ -------- Page 38 (Lecture #10-38.jpg) ---------
918
+ ( program#53.html ) عملي
919
+
920
+ INTERNAL STYLE SHEETS
921
+
922
+ Hello world!
923
+
924
+ I ♥ CSS
925
+
926
+ 35
927
+
928
+ -------- Page 39 (Lecture #10-39.jpg) ---------
929
+ Thank you
data/11.txt ADDED
@@ -0,0 +1,325 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #11-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الحادية عشر
11
+
12
+ أ. وفاء حسين المصباحي
13
+ أستاذة المادة
14
+
15
+ HTML5
16
+ JS
17
+ Cloud
18
+ CSS3
19
+ XML
20
+ flat
21
+ PHP
22
+ header
23
+ .com
24
+ footer
25
+ .net
26
+
27
+ 2025 ربيع
28
+
29
+ -------- Page 2 (Lecture #11-02.jpg) ---------
30
+ المواضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة الحادية عشر
33
+
34
+ CSS - Cascading Style Sheets
35
+
36
+ CSS TEXT
37
+
38
+ Example
39
+
40
+ -------- Page 3 (Lecture #11-03.jpg) ---------
41
+ CSS - Cascading Style Sheets
42
+
43
+ CSS TEXT
44
+
45
+ - The Color property is defined by the CSS color property.
46
+ body {color: #434343;}
47
+
48
+ - The Text Alignment property is used to set the horizontal alignment of the text. Text can be aligned in four ways: left, right, center or justify (straight left and right margins).
49
+ h1 { text-align: center; }
50
+ p { text-align: justify; }
51
+
52
+ - The Text Direction property is used to change the text direction of an element.
53
+ p { direction: rtl; } /* rtl or ltr */
54
+
55
+ 1
56
+
57
+ -------- Page 4 (Lecture #11-04.jpg) ---------
58
+ CSS - Cascading Style Sheets
59
+
60
+ CSS TEXT
61
+
62
+ - The Text Vertical Alignment property sets the vertical alignment of an element. It has the values: baseline, length, sub, super, top, text-top, middle, bottom or text-bottom
63
+
64
+ <p>
65
+ top: <img style="vertical-align: top" src="star.png" alt="star"/>
66
+ middle: <img style="vertical-align: middle" src="star.png" alt="star"/>
67
+ bottom: <img style="vertical-align: bottom" src="star.png" alt="star"/>
68
+ super: <img style="vertical-align: super" src="star.png" alt="star"/>
69
+ sub: <img style="vertical-align: sub" src="star.png" alt="star"/>
70
+ </p>
71
+
72
+ <p>
73
+ text-top: <img style="vertical-align: text-top" src="star.png" alt="star"/>
74
+ text-bottom: <img style="vertical-align: text-bottom" src="star.png" alt="star"/>
75
+ 0.2em: <img style="vertical-align: 0.2em" src="star.png" alt="star"/>
76
+ -1em: <img style="vertical-align: -1em" src="star.png" alt="star"/>
77
+ 20%: <img style="vertical-align: 20%" src="star.png" alt="star"/>
78
+ -100%: <img style="vertical-align: -100%" src="star.png" alt="star"/>
79
+ </p>
80
+
81
+ top: middle: bottom: super: sub:
82
+ text-top: text-bottom: 0.2em: -1em: 20%: -100%:
83
+ 2
84
+
85
+ -------- Page 5 (Lecture #11-05.jpg) ---------
86
+ CSS - Cascading Style Sheets
87
+
88
+ CSS TEXT
89
+
90
+ • Text decoration: the text-decoration property is used to set or remove decorations from text.
91
+
92
+ • The text-decoration-line property This used to add a decoration line to text. It typically accepts the values: underline, overline, line-through or none.
93
+
94
+ • The text-decoration-color property is used to set the color of the decoration line.
95
+
96
+ • The text-decoration-style property is used to set the style of the decoration line with the values: solid, double, dotted, dashed or wavy.
97
+
98
+ • The text-decoration-thickness is used to set the thickness of the decoration line with length or % or auto.
99
+
100
+ • The text-decoration shorthand property with the previous order above.
101
+
102
+ 3
103
+
104
+ -------- Page 6 (Lecture #11-06.jpg) ---------
105
+ CSS - Cascading Style Sheets
106
+
107
+ Basic example
108
+
109
+ HTML
110
+ <p class="wavy">Here’s some text with wavy red underline!</p>
111
+ <p class="both">This text has lines both above and below it.</p>
112
+
113
+ CSS
114
+ .wavy {
115
+ text-decoration-line: underline;
116
+ text-decoration-style: wavy;
117
+ text-decoration-color: red;
118
+ }
119
+
120
+ .both {
121
+ text-decoration-line: underline overline;
122
+ }
123
+
124
+ Here’s some text with wavy red underline!
125
+ This text has lines both above and below it.
126
+
127
+ -------- Page 7 (Lecture #11-07.jpg) ---------
128
+ CSS - Cascading Style Sheets
129
+
130
+ HTML
131
+
132
+ <p>This text contains a <span class="spelling">speling</span> mistake.</p>
133
+ <p class="grammar">This text contain grammatical errors.</p>
134
+
135
+ CSS
136
+
137
+ .spelling {
138
+ text-decoration-line: spelling-error;
139
+ }
140
+
141
+ .grammar {
142
+ text-decoration-line: grammar-error;
143
+ }
144
+
145
+ This text contains a speling mistake.
146
+
147
+ This text contain grammatical errors.
148
+
149
+ -------- Page 8 (Lecture #11-08.jpg) ---------
150
+ CSS - Cascading Style Sheets
151
+
152
+ CSS TEXT
153
+
154
+ - The Text Transform property is used to set the cases for a text. Using this property you can change an element's text content into uppercase or lowercase letters, or capitalize the first letter of each word without modifying the original text. Its values are: none, capitalize, uppercase or lowercase.
155
+
156
+ <p>
157
+ text-transform: capitalize
158
+ <strong>
159
+ ><span
160
+ >Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span
161
+ >
162
+ </strong>
163
+ </p>
164
+
165
+ CSS
166
+
167
+ span {
168
+ text-transform: capitalize;
169
+ }
170
+
171
+ text-transform: capitalize Lorem Ipsum Dolor Sit Amet, Consectetur Adipisicing Elit…
172
+
173
+ 6
174
+
175
+ -------- Page 9 (Lecture #11-09.jpg) ---------
176
+ CSS - Cascading Style Sheets
177
+
178
+ </p>
179
+ <p>
180
+ text-transform: uppercase
181
+ <strong>
182
+ <span>
183
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit…</span>
184
+ </strong>
185
+ </p>
186
+
187
+ CSS
188
+
189
+ span {
190
+ text-transform: uppercase;
191
+ }
192
+
193
+ text-transform: uppercase
194
+ LOREM IPSUM DOLOR SIT AMET, CONSECTETUR ADIPISICING ELIT…
195
+
196
+ 7
197
+
198
+ -------- Page 10 (Lecture #11-10.jpg) ---------
199
+ CSS - Cascading Style Sheets
200
+
201
+ CSS TEXT
202
+
203
+ • The text-indent property is used to specify the indentation of the first line of a text.
204
+
205
+ div { text-indent: 130px } /* You can use negative value */
206
+
207
+ Lorem ipsum dolor sit.
208
+
209
+ • The letter-spacing property is used to specify the space between the characters in a text. Its values are normal or length.
210
+
211
+ div { letter-spacing: 5px } /* You can use negative value EX: '-2px' */
212
+
213
+ L o r e m i p s u m d o l o r s i t .
214
+
215
+ 8
216
+
217
+ -------- Page 11 (Lecture #11-11.jpg) ---------
218
+ CSS - Cascading Style Sheets
219
+
220
+ CSS TEXT
221
+
222
+ - The line-height property is used to specify the space between lines.
223
+
224
+ div { line-height: 1.6 } /* Default: normal , px , em , % , num EX: 1.5 */
225
+
226
+ - The word-spacing property is used to specify the space between the words in a text.
227
+
228
+ div { word-spacing: 10px } /* Default: normal , px , rem , % , ch */
229
+
230
+ 9
231
+
232
+ -------- Page 12 (Lecture #11-12.jpg) ---------
233
+ Example 1 : INTERNAL STYLE SHEETS - CSS TEXT
234
+
235
+ <html lang="ar">
236
+ <head>
237
+ <title> صفحة اختبار لخصائص النص </title>
238
+ <meta charset='utf-8'>
239
+ <style type="text/css">
240
+ p {
241
+ text-align:justify;
242
+ color:#ff0000;
243
+ text-decoration:underline;
244
+ direction:rtl;
245
+ }
246
+ </style>
247
+ </head>
248
+ <body>
249
+ <p>
250
+ إن هذه الصفحة إختبار لخصائص مظهر النص في أوراق الأنماط الإنسيابية وقد تعمدنا إطالة
251
+ النص الموجود بين وسمي بداية ونهاية هذه الفقرة ليظهر عمل خاصية المحاذاة جهتي ,
252
+ في لقطة الشاشة التي سوف نعرضها لهذه الصفحة.
253
+ </p>
254
+ </body>
255
+ </html>
256
+
257
+ 10
258
+
259
+ -------- Page 13 (Lecture #11-13.jpg) ---------
260
+ ( program#54.html ) عملي
261
+
262
+ EXPLORER
263
+
264
+ HTML LANGUAGE
265
+ program#41.html
266
+ program#42.html
267
+ program#43.html
268
+ program#44.html
269
+ program#45.html
270
+ program#46.html
271
+ program#47.html
272
+ program#48.html
273
+ program#49.html
274
+ program#50.html
275
+ program#51.html
276
+ program#52.html
277
+ program#53.html
278
+ program#54.html
279
+
280
+ # style.css
281
+
282
+ OUTLINE
283
+ TIMELINE
284
+
285
+ program#54.html html head style p
286
+
287
+ program#54.html
288
+
289
+ <html lang="ar">
290
+ <head>
291
+ <title> صفحة اختبار لخصائص النص </title>
292
+ <meta charset="utf-8">
293
+ <style type="text/css">
294
+ p {
295
+ text-align:justify;
296
+ color:#ff0000;
297
+ text-decoration:underline;
298
+ direction:rtl;
299
+ }
300
+ </style>
301
+ </head>
302
+ <body>
303
+ <p>
304
+ ظهر النص في أوراق الأنماط الانسيابية, وقد تعمدنا إطالة
305
+ حدود بين وسمي بداية ونهاية هذه الفقرة, ويظهر عمل خاصية المحاذاة
306
+ في لقطه الشاشة التي سوف نعرضها لهذه الصفحة
307
+ </p>
308
+ </body>
309
+ </html>
310
+
311
+ HTML language
312
+
313
+ Ln 11, Col 17 Spaces: 4 UTF-8 CRLF HTML
314
+
315
+ 11
316
+
317
+ -------- Page 14 (Lecture #11-14.jpg) ---------
318
+ عملي ( program#54.html )
319
+
320
+ صفحة إختبار لخصائص النص
321
+
322
+ إن هذه الصفحة إختبار لخصائص النص في أوراق الأنماط الإنسيابية،قد تعمدنا لجلب هذا النص الموجود بين وسمي بداية ونهاية هذه الفقرةلإظهار عمل خاصية المحاذاة في أنماط التنسيقات التي سنفرضاها لهذه الصفحة.
323
+
324
+ -------- Page 15 (Lecture #11-15.jpg) ---------
325
+ Thank you
data/12.txt ADDED
@@ -0,0 +1,428 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #12-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الثانية عشر
11
+
12
+ أستاذة المادة
13
+ أ. وفاء حسين المصباحي
14
+
15
+ HTML5
16
+ CSS3
17
+ XML
18
+ JS
19
+ Cloud
20
+ flat
21
+ header
22
+ .com
23
+ PHP
24
+ footer
25
+ .net
26
+
27
+ 2025 ربيع
28
+
29
+ -------- Page 2 (Lecture #12-02.jpg) ---------
30
+ الموضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة الحادية عشر
33
+
34
+ CSS - Cascading Style Sheets
35
+
36
+ 1 CSS FONTS
37
+ CSS LINKS
38
+ CSS LISTS
39
+ CSS TABLES
40
+ DISPLAY PROPERTY
41
+
42
+ -------- Page 3 (Lecture #12-03.jpg) ---------
43
+ VISIBILITY PROPERTY
44
+ BOX MODEL
45
+ MARGINS
46
+ PADDING
47
+
48
+ -------- Page 4 (Lecture #12-04.jpg) ---------
49
+ CSS - Cascading Style Sheets
50
+
51
+ CSS FONTS
52
+
53
+ In CSS there are five generic font families:
54
+
55
+ • Serif fonts have a small stroke at the edges of each letter. They create a sense of formality and elegance; such as (Times New Roman) and (Georgia).
56
+
57
+ • Sans-serif fonts have clean lines (no small strokes attached). They create a modern and minimalistic look; such as (Arial) and (Verdana).
58
+
59
+ • Monospace fonts - here all the letters have the same fixed width. They create a mechanical look; such as (Courier New) and (Lucida Console).
60
+
61
+ • Cursive fonts imitate human handwriting; such as (Lucida Handwriting).
62
+
63
+ • Fantasy fonts are decorative/playful fonts; such as (Papyrus)
64
+
65
+ -------- Page 5 (Lecture #12-05.jpg) ---------
66
+ CSS - Cascading Style Sheets
67
+
68
+ CSS FONTS
69
+
70
+ • CSS font-family --- font-family
71
+ • CSS Font Style --- font-style
72
+ • CSS Font Weight --- font-weight
73
+ • CSS Font Size --- font-size
74
+
75
+ .p1 {
76
+ font-family: "Times New Roman", Times, serif;
77
+
78
+ font-style: normal | italic;
79
+
80
+ font-weight: normal | bold;
81
+
82
+ font-size: 40px;
83
+ }
84
+
85
+ • The default size for normal text, like paragraphs, is 16px .
86
+
87
+ -------- Page 6 (Lecture #12-06.jpg) ---------
88
+ Example : INTERNAL STYLE SHEETS - CSS FONTS
89
+
90
+ <html lang=“ar”>
91
+ <head>
92
+ <title> صفحة اختبار لخصائص الخطوط </title>
93
+ <meta charset=‘utf-8’>
94
+ <style type=“text/css”>
95
+ p {
96
+ font-family:"Tahoma","Simplified Arabic",sans-serif;
97
+ font-size:1.5em;
98
+ font-style:italic;
99
+ direction:rtl;
100
+ }
101
+ </style>
102
+ </head>
103
+ <body>
104
+ <p>
105
+ إن هذه الصفحة اختبار لخصائص الخطوط في أوراق الأنماط الإنسية.
106
+ </p>
107
+ </body>
108
+ </html>
109
+
110
+ 3
111
+
112
+ -------- Page 7 (Lecture #12-07.jpg) ---------
113
+ ( program#55.html ) عملي
114
+
115
+ EXPLORER
116
+ HTML LANGUAGE
117
+ program#41.html
118
+ program#42.html
119
+ program#43.html
120
+ program#44.html
121
+ program#45.html
122
+ program#46.html
123
+ program#47.html
124
+ program#48.html
125
+ program#49.html
126
+ program#50.html
127
+ program#51.html
128
+ program#52.html
129
+ program#53.html
130
+ program#54.html
131
+ program#55.html
132
+ style.css
133
+
134
+ program#54.html x
135
+ program#55.html x
136
+
137
+ program#55.html > html > head > style
138
+
139
+ 1 <html lang="ar">
140
+ 2 <head>
141
+ 3 <title> صفحة اختبار خصائص الخطوط </title>
142
+ 4 <meta charset="utf-8">
143
+ 5 <style type="text/css">
144
+ 6 p {
145
+ 7 font-family: "Tahoma","Simplified Arabic",sans-seri
146
+ 8 font-size:1.5em;
147
+ 9 font-style:italic;
148
+ 10 direction:rtl;
149
+ 11 }
150
+ 12 </style>
151
+ 13 </head>
152
+ 14 <body>
153
+ 15 <p>
154
+ 16 هذه الصفحة إختبار لخصائص الخطوط في أوراق الأنماط الانسيابية
155
+ 17 </p>
156
+ 18 </body>
157
+ 19 </html>
158
+
159
+ Ln 12, Col 17 Spaces: 4 UTF-8 CRLF HTML
160
+
161
+ -------- Page 8 (Lecture #12-08.jpg) ---------
162
+ عملي ( program#55.html )
163
+
164
+ إن هذه الصفحة اختبار لخصائص الخطوط في أوراق الأنماط الإنسيايبة.
165
+
166
+ 5
167
+
168
+ -------- Page 9 (Lecture #12-09.jpg) ---------
169
+ CSS - Cascading Style Sheets
170
+
171
+ CSS LINKS
172
+
173
+ - A link has four different states — link, visited, active and hover. These four states of a link can be styled differently through using the following anchor pseudo-class selectors.
174
+
175
+ • a:link — define styles for normal or unvisited links.
176
+ • a:visited — define styles for links that the user has already visited.
177
+ • a:hover — define styles for a link when the user place the mouse pointer over it.
178
+ • a:active — define styles for links when they are being clicked.
179
+
180
+ - Note: a:hover MUST come after a:link and a:visited, and a:active MUST come after a:hover
181
+ - All links in HTML are underlined by default. Sometimes you see that links are styled with no underline. The text-decoration: none; is used to remove the underline from links.
182
+
183
+ a:link {
184
+ text-decoration: none;
185
+ }
186
+
187
+ -------- Page 10 (Lecture #12-10.jpg) ---------
188
+ CSS - Cascading Style Sheets
189
+
190
+ CSS LINKS
191
+
192
+ • By default, text links will appear as follow in most of the browsers:
193
+
194
+ • An unvisited link as underlined blue text.
195
+
196
+ • A visited link as underlined purple text.
197
+
198
+ • An active link as underlined red text.
199
+
200
+ 7
201
+
202
+ -------- Page 11 (Lecture #12-11.jpg) ---------
203
+ Example : INTERNAL STYLE SHEETS - CSS LINKS
204
+
205
+
206
+ <html lang="ar">
207
+ <head>
208
+ <title> صفحة اختبار لمظهر الروابط </title>
209
+ <meta charset="utf-8">
210
+ <style type="text/css">
211
+ a:link{text-decoration:none;color:blue;}
212
+ a:visited{color:green;}
213
+ a:hover{text-decoration:underline;}
214
+ a:active{font-size:120%;}
215
+ </style>
216
+ </head>
217
+ <body>
218
+
219
+ <a href="#">normal link</a> <br/>
220
+
221
+ <a href="www.google.com">visited link</a> <br/>
222
+
223
+ <a href="#">hover link</a> <br/>
224
+
225
+ <a href="#">normal link 2</a> <br/>
226
+
227
+ </body>
228
+ </html>
229
+
230
+ 8
231
+
232
+ -------- Page 12 (Lecture #12-12.jpg) ---------
233
+ CSS - Cascading Style Sheets
234
+
235
+ CSS LISTS
236
+
237
+ • There are three different types of list in HTML:
238
+ • Unordered lists — A list of items, where every list items are marked with bullets.
239
+ • Ordered lists — A list of items, where each list items are marked with numbers.
240
+ • Definition list — A list of items, with a description of each item.
241
+
242
+ • By default:
243
+ • Items in an ordered list are numbered with Arabic numerals (1, 2, 3, 5, and so on).
244
+ • Items in an unordered list are marked with round bullets (•).
245
+
246
+ • But, you can change this default list marker type to any other type such as roman numerals, Latin letters, circle, square, and so on using the list-style-type property.
247
+
248
+ list-style-type: disc | circle | square
249
+ | decimal | lower-latin | lower-roman | upper-latin
250
+ | upper-roman | none;
251
+
252
+ 9
253
+
254
+ -------- Page 13 (Lecture #12-13.jpg) ---------
255
+ Example : INTERNAL STYLE SHEETS - CSS LISTS
256
+
257
+ <html lang=“ar”>
258
+ <head>
259
+ <title> صفحة اختبار لخصائص مظهر القوائم </title>
260
+ <meta charset=‘utf-8’>
261
+ <style type=“text/css”>
262
+ ul {list-style-type:square;}
263
+ ol {list-style-image:url('dot.gif');}
264
+ </style>
265
+ </head>
266
+ <body>
267
+
268
+ <ul>
269
+ <li>item 1</li>
270
+ <li>item 2</li>
271
+ <li>item 3</li>
272
+ </ul>
273
+
274
+ <ol>
275
+ <li>item 1</li>
276
+ <li>item 2</li>
277
+ <li>item 3</li>
278
+ </ol>
279
+
280
+ </body>
281
+ </html>
282
+
283
+ 10
284
+
285
+ -------- Page 14 (Lecture #12-14.jpg) ---------
286
+ CSS - Cascading Style Sheets
287
+
288
+ CSS TABLES
289
+
290
+ • The CSS border property is the best way to define the borders for the tables.
291
+
292
+ • By default, browser draws a border around the table, as well as around all the cells, with some space in-between, which results in double border. To get rid of this double border problem you can simply collapse the adjoining table cell borders and create clean single line borders.
293
+
294
+ • There are two distinct models for setting borders on table cells in CSS: separate and collapse.
295
+
296
+ • You can set the border model for an HTML table by using the CSS border-collapse property.
297
+
298
+ • By default, the browser creates the table cells just large enough to contain the data in the cells.
299
+
300
+ • To add more space between the table cell contents and the cell borders, you can simply use the CSS padding property.
301
+
302
+ 11
303
+
304
+ -------- Page 15 (Lecture #12-15.jpg) ---------
305
+ CSS - Cascading Style Sheets
306
+
307
+ TABLES PROPERTIES
308
+
309
+ • border: Sets all the border properties in one declaration
310
+
311
+ • border-collapse : Specifies whether or not table borders should be collapsed
312
+
313
+ table, th, td {
314
+ border: 1px solid;
315
+ }
316
+
317
+ • Notice that the table in the examples above have double borders. This is because both the table and the <th> and <td> elements have separate borders. To remove double borders, take a look at the example below.
318
+
319
+ table, td, th {
320
+ border: 1px solid;
321
+ }
322
+ table {
323
+ border-collapse: collapse;
324
+ }
325
+
326
+ 12
327
+
328
+ -------- Page 16 (Lecture #12-16.jpg) ---------
329
+ CSS - Cascading Style Sheets
330
+
331
+ DISPLAY PROPERTY
332
+
333
+ • The display property specifies if/how an element is displayed.
334
+ • Every HTML element has a default display value depending on what type of element it is. The default display value for most elements is block or inline.
335
+ • Setting the display property of an element only changes how the element is displayed, NOT what kind of element it is. So, an inline element with display: block; is not allowed to have other block elements inside it.
336
+
337
+ p.ex1{
338
+ Display: inline | block | none;
339
+ }
340
+
341
+ -------- Page 17 (Lecture #12-17.jpg) ---------
342
+ CSS - Cascading Style Sheets
343
+
344
+ VISIBILITY PROPERTY
345
+
346
+ - The visibility property specifies whether or not an element is visible.
347
+
348
+ - Tip: Hidden elements take up space on the page. Use the display property to both hide and remove an element from the document layout!
349
+
350
+ p.ex1 {
351
+ visibility: visible | hidden;
352
+ }
353
+
354
+ 14
355
+
356
+ -------- Page 18 (Lecture #12-18.jpg) ---------
357
+ CSS - Cascading Style Sheets
358
+
359
+ BOX MODEL
360
+
361
+ - The CSS box model is essentially a box that wraps around every HTML element. It consists of: margins, borders, padding, and the actual content.
362
+
363
+ Margin
364
+ Border
365
+ Padding
366
+ Content
367
+
368
+ 15
369
+
370
+ -------- Page 19 (Lecture #12-19.jpg) ---------
371
+ CSS - Cascading Style Sheets
372
+
373
+ BOX MODEL
374
+
375
+ • Where:
376
+ • Content - The content of the box, where text and images appear
377
+ • Padding - Clears an area around the content.
378
+ • Border - A border that goes around the padding and content
379
+ • Margin - Clears an area outside the border.
380
+
381
+ • The margin and the padding are transparent.
382
+
383
+ • When you set the width and height properties of an element with CSS, you just set the width and height of the content area. To calculate the full size of an element, you must do the following:
384
+ • Total element width = width + left padding + right padding + left border + right border + left margin + right margin
385
+ • Total element height = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin
386
+
387
+ 16
388
+
389
+ -------- Page 20 (Lecture #12-20.jpg) ---------
390
+ CSS - Cascading Style Sheets
391
+
392
+ MARGINS
393
+
394
+ - Margins are used to create space around elements, outside of any defined borders.
395
+
396
+ - margin properties can have the following values: auto or specify it in px or % that specifies a margin of the width of the containing element.
397
+
398
+ - The auto value center the element within its container. The element will then take up the specified width, and the remaining space will be split equally to margins.
399
+
400
+ p {
401
+ margin: 25px 50px 75px 100px;
402
+ }
403
+
404
+ Where top margin is 25px, right margin is 50px, bottom margin is 75px and left margin is 100px.
405
+
406
+ 17
407
+
408
+ -------- Page 21 (Lecture #12-21.jpg) ---------
409
+ CSS - Cascading Style Sheets
410
+
411
+ PADDING
412
+
413
+ • Padding is used to create space around an element's content, inside of any defined borders.
414
+
415
+ • Padding properties can have the following values: specify it in px or % that specifies a padding of the width of the containing element.
416
+
417
+ • The CSS width property specifies the width of the element's content area. So, if an element has a specified width, the padding added to that element will be added to the total width of the element. This is often an undesirable result.
418
+
419
+ div {
420
+ padding: 25px 50px 75px 100px;
421
+ }
422
+
423
+ Where top padding is 25px, right padding is 50px, bottom padding is 75px and left padding is 100px
424
+
425
+ 18
426
+
427
+ -------- Page 22 (Lecture #12-22.jpg) ---------
428
+ Thank you
data/13.txt ADDED
@@ -0,0 +1,412 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (JavaScript Basics-01.jpg) ---------
3
+ University of Tripoli
4
+ Faculty of Information Technology
5
+
6
+ Department of Software Engineering
7
+
8
+ JavaScript Basics
9
+
10
+ Introduction to Internet Programming
11
+ ITGS 226 -- F2023
12
+
13
+ By: Fatima Ben Lashihar
14
+
15
+ -------- Page 2 (JavaScript Basics-02.jpg) ---------
16
+ INTRODUCTION
17
+
18
+ • JavaScript is the most popular and widely used client-side scripting language.
19
+
20
+ • JavaScript is designed to add interactivity and dynamic effects to the web pages by manipulating the content returned from a web server.
21
+
22
+ • JavaScript is an object-oriented language, and it also has some similarities in syntax to Java programming language. But, JavaScript is not related to Java in any way.
23
+
24
+ -------- Page 3 (JavaScript Basics-03.jpg) ---------
25
+ What can do with Javascript
26
+
27
+ • Modify the content of a web page by adding or removing elements
28
+ (Example)
29
+
30
+ • Change the style and position of the elements on a web page
31
+ (Example)
32
+
33
+ • Monitor events like mouse click, hover, etc. and react to it (Example)
34
+
35
+ • Create alert pop-ups to display info or warning messages to the user
36
+ (Example)
37
+
38
+ • Validate user inputs before submitting it to the server (Example)
39
+
40
+ 3
41
+
42
+ -------- Page 4 (JavaScript Basics-04.jpg) ---------
43
+ ADDING JAVASCRIPT TO WEB PAGES
44
+
45
+ • There are typically three ways to add JavaScript to a web page:
46
+ 1. Embedding (internal) the JavaScript code between a pair
47
+ of <script> and </script> tag.
48
+ 2. Creating an external JavaScript file with the .js extension
49
+ and then load it within the page through the src attribute
50
+ of the <script> tag.
51
+ 3. Placing the JavaScript code directly inside an HTML tag
52
+ using the special tag attributes such
53
+ as onclick, onmouseover, onkeypress, onload, etc.
54
+
55
+ 4
56
+
57
+ -------- Page 5 (JavaScript Basics-05.jpg) ---------
58
+ EMBEDDING THE JAVASCRIPT CODE
59
+
60
+ • Embedding the JavaScript code directly within web pages by
61
+ placing it between the <script> and </script> tags.
62
+
63
+ • The <script> tag indicates the browser that the contained
64
+ statements are to be interpreted as executable script and not
65
+ HTML (Example1) (Example2).
66
+
67
+ <body>
68
+ <script>
69
+ var greet = "Hello World!";
70
+ document.write(greet); // Prints: Hello World!
71
+ </script>
72
+ </body>
73
+
74
+ -------- Page 6 (JavaScript Basics-06.jpg) ---------
75
+ CALLING AN EXTERNAL JAVASCRIPT FILE
76
+
77
+ • Placing JavaScript code into a separate file with a (.js) extension, and then call that file in your document through the src attribute of the <script> tag, like this:
78
+
79
+ <script src="js/hello.js"></script> (Example)
80
+
81
+ • This is useful if aiming to have the same scripts available to multiple documents.
82
+
83
+ -------- Page 7 (JavaScript Basics-07.jpg) ---------
84
+ PLACING THE JAVASCRIPT CODE INLINE
85
+
86
+ • Placing JavaScript code inline by inserting it directly inside the HTML tag using the special tag attributes such as onclick, onmouseover, onkeypress, onload, etc.
87
+
88
+ <body>
89
+ <button type= "button" onclick="alert('Hello World!')">
90
+ Click Me
91
+ </button>
92
+ </body>
93
+
94
+ • Always keep the content and structure of web page (i.e. HTML) separate out from presentation (CSS), and behavior (JavaScript).
95
+
96
+ 7
97
+
98
+ -------- Page 8 (JavaScript Basics-08.jpg) ---------
99
+ POSITIONING OF SCRIPT INSIDE HTML DOCUMENT
100
+
101
+ • The <script> element can be placed in the <head>, or <body> section of an HTML document. But ideally, scripts should be placed at the end of the body section, just before the closing </body> tag, it will make your web pages load faster, since it prevents obstruction of initial page rendering.
102
+
103
+ 8
104
+
105
+ -------- Page 9 (JavaScript Basics-09.jpg) ---------
106
+ JAVASCRIPT SYNTAX
107
+
108
+ • JavaScript is case-sensitive. This means that variables,
109
+ language keywords, function names, and other identifiers
110
+ must always be typed with a consistent capitalization of
111
+ letters.
112
+
113
+ -------- Page 10 (JavaScript Basics-10.jpg) ---------
114
+ JAVASCRIPT DATA TYPES
115
+
116
+ • There are six basic data types in JavaScript :
117
+ • Primary data types
118
+ • String: let b=“Ali” or ‘ Ali ’ ;
119
+ • Number: let b = 80.5;
120
+ • Boolean: let isReading = true;
121
+ • Composite data types
122
+ • Object: let car = { modal: "BMW X3", color: "white", doors: 5 }
123
+ • Array: let colors = ["Red", "Yellow", "Green", "Orange"];
124
+ • Function: let greeting = function(){ return "Hello World!"; }
125
+ • special data types Example
126
+ • Undefined: let S;
127
+ • Null: let Z=Null;
128
+
129
+ 10
130
+
131
+ -------- Page 11 (JavaScript Basics-11.jpg) ---------
132
+ JAVASCRIPT COMMENTS
133
+
134
+ • A comment is simply a line of text that is completely ignored
135
+ by the JavaScript interpreter.
136
+
137
+ • JavaScript support single-line as well as multi-line comments.
138
+ • Single-line comments begin with a double forward slash
139
+ (//), followed by the comment text.
140
+ • multi-line comment begins with a slash and an asterisk (/*)
141
+ and ends with an asterisk and slash (*/).
142
+
143
+ 11
144
+
145
+ -------- Page 12 (JavaScript Basics-12.jpg) ---------
146
+ JAVASCRIPT VARIABLES
147
+
148
+ • Create a variable with the let keyword, whereas the assignment operator (=) is used to assign value to a variable, like this:
149
+ let varName = value, var1Name= value1,…;
150
+ • In JavaScript, if a variable has been declared, but has not been assigned a value explicitly, is automatically assigned the value undefined.
151
+ • Rules for naming a JavaScript variable:
152
+ • A variable name must start with a letter, or underscore, or dollar sign.
153
+ • A variable name cannot start with a number.
154
+ • A variable name can only contain alpha-numeric characters (A-z, 0-9) and underscores.
155
+ • A variable name cannot contain spaces.
156
+ • A variable name cannot be a JavaScript reserved word.
157
+
158
+ • What about var and const?!
159
+
160
+ 12
161
+
162
+ -------- Page 13 (JavaScript Basics-13.jpg) ---------
163
+ JAVASCRIPT GENERATING OUTPUT
164
+
165
+ • Displaying Output in Alert Dialog Boxes: An alert dialog box is created using the alert() method.
166
+ alert("Hello World!"); // Outputs: Hello World!
167
+
168
+ • Writing Output to the Browser Window: the document.write() method can be used to write the content to the current document only while that document is being parsed.
169
+ document.write("Hello World!"); // Prints: Hello World!
170
+
171
+ • Using document.write() after an HTML document is loaded, will delete all existing HTML (Example)
172
+
173
+ 13
174
+
175
+ -------- Page 14 (JavaScript Basics-14.jpg) ---------
176
+ JAVASCRIPT GENERATING OUTPUT
177
+
178
+ • Inserting Output Inside an HTML Element: insert output inside an
179
+ HTML element using the element's innerHTML property. However,
180
+ first select the element using a method such as getElementById()
181
+
182
+ Let x = 10;
183
+ let y = 20;
184
+ let sum = x + y;
185
+ Document.getElementById("result").innerHTML =
186
+ sum;
187
+
188
+ • For debugging purposes, you can call the console.log() method in
189
+ the browser to display data (Example)
190
+
191
+ 14
192
+
193
+ -------- Page 15 (JavaScript Basics-15.jpg) ---------
194
+ JAVASCRIPT EVENTS
195
+
196
+ • An event is something that happens when user interact with the web page, such as when he clicked a link or button, moved the mouse pointer, submits a form, etc.
197
+
198
+ • The names for event handlers always begin with the word "on", so an event handler for the click event is called onclick, similarly an event handler for the load event is called onload, event handler for the blur event is called onblur, and so on.
199
+
200
+ • The events can be categorized into four main groups:
201
+ • Mouse Events
202
+ • Keyboard Events
203
+ • Form Events
204
+ • Document/Window Events.
205
+
206
+ 15
207
+
208
+ -------- Page 16 (JavaScript Basics-16.jpg) ---------
209
+ MOUSE EVENTS
210
+
211
+ • The Click Event (onclick): occurs when a user clicks on an element on a web page. A click event can be handled with an onclick event handler (Example)
212
+
213
+ • The Mouseover Event (onmouseover) : occurs when a user moves the mouse pointer over an element. (Example)
214
+
215
+ 16
216
+
217
+ -------- Page 17 (JavaScript Basics-17.jpg) ---------
218
+ FORM EVENTS
219
+
220
+ • The Focus Event (onfocus): The focus event occurs when the user gives focus to an element on a web page (Example)
221
+
222
+ • The Blur Event (onblur): The blur event occurs when the user takes the focus away from a form element or a window (Example)
223
+
224
+ • The Change Event (onchange): The change event occurs when a user changes the value of a form element (Example)
225
+
226
+ • The Submit Event (onsubmit): The submit event only occurs when the user submits a form on a web page. (Example)
227
+
228
+ 17
229
+
230
+ -------- Page 18 (JavaScript Basics-18.jpg) ---------
231
+ DOCUMENT/WINDOW EVENTS
232
+
233
+ • The Load Event (onload): The load event occurs when a web
234
+ page has finished loading in the web browser (Example)
235
+
236
+ • The Unload Event (onunload): The unload event occurs when
237
+ a user leaves the current web page (Example)
238
+
239
+ 18
240
+
241
+ -------- Page 19 (JavaScript Basics-19.jpg) ---------
242
+ JAVASCRIPT CONDITIONAL STATEMENTS
243
+
244
+ • There are several conditional statements in JavaScript:
245
+
246
+ • The if statement
247
+
248
+ • The if...else statement
249
+
250
+ • The if...else if....else statement
251
+
252
+ • The switch...case statement
253
+
254
+ 19
255
+
256
+ -------- Page 20 (JavaScript Basics-20.jpg) ---------
257
+ JAVASCRIPT LOOPS EX
258
+
259
+ • JavaScript supports five different types of loops:
260
+
261
+ • while — loops through a block of code as long as the condition
262
+ specified evaluates to true.
263
+
264
+ • do…while — loops through a block of code once; then the
265
+ condition is evaluated. If the condition is true, the statement is
266
+ repeated as long as the specified condition is true.
267
+
268
+ • for — loops through a block of code until the counter reaches a
269
+ specified number.
270
+
271
+ • for…in — loops through the properties of an object.
272
+
273
+ • for…of — loops over iterable objects such as arrays, strings, etc.
274
+
275
+ -------- Page 21 (JavaScript Basics-21.jpg) ---------
276
+ THE DOCUMENT OBJECT MODEL
277
+
278
+ • The Document Object Model (DOM) is a platform and language independent model to represent the HTML documents.
279
+
280
+ • DOM defines the logical structure of the documents and the way in which they can be accessed and manipulated by an application program.
281
+
282
+ • In the DOM, all parts of the document, such as elements, attributes, text, etc. are organized in a hierarchical tree-like structure.
283
+
284
+ 21
285
+
286
+ -------- Page 22 (JavaScript Basics-22.jpg) ---------
287
+ HTML DOM(Document Object Model)
288
+
289
+ Nodes
290
+
291
+ Document
292
+ <html>
293
+
294
+ <head>
295
+ <title>
296
+ My Page
297
+
298
+ <body>
299
+ <h1>
300
+ Mobile OS
301
+
302
+ <ul>
303
+ <li>
304
+ Android
305
+ <li>
306
+ iOS
307
+
308
+ -------- Page 23 (JavaScript Basics-23.jpg) ---------
309
+ JAVASCRIPT DOM SELECTORS
310
+
311
+ • Selecting the Topmost Elements: The topmost elements in an HTML
312
+ document are available directly as document properties.
313
+ • For example:
314
+ • the <html> element can be accessed
315
+ with document.documentElement property. EX
316
+ • the <head> element can be accessed
317
+ with document.head property EX
318
+ • the <body> element can be accessed
319
+ with document.body property. EX
320
+
321
+ • Selecting Elements by ID: the easiest way to find an HTML element
322
+ in the DOM tree is select an element based on its unique ID with
323
+ the getElementById() method.
324
+ • The getElementById() method will return the element as an
325
+ object if the matching element was found, or null if no matching
326
+ element was found in the document.
327
+ 23
328
+
329
+ -------- Page 24 (JavaScript Basics-24.jpg) ---------
330
+ JAVASCRIPT DOM SELECTORS
331
+
332
+ • Selecting Elements by Class Name: the getElementsByClassName() method is used to select all the elements having specific class names. EX
333
+ • This method returns an array-like object of all child elements which have all of the given class names.
334
+
335
+ • Selecting Elements by Tag Name: select HTML elements by tag name using the getElementsByTagName() method. EX
336
+ • This method also returns an array-like object of all child elements with the given tag name.
337
+
338
+ 24
339
+
340
+ -------- Page 25 (JavaScript Basics-25.jpg) ---------
341
+ JAVASCRIPT DOM STYLING
342
+
343
+ • Setting Inline Styles on Elements: the style property is used to get or set the inline style of an element. EX
344
+
345
+ 25
346
+
347
+ -------- Page 26 (JavaScript Basics-26.jpg) ---------
348
+ JAVASCRIPT DOM GET SET ATTRIBUTES
349
+
350
+ • getAttribute() method: is used to get the current value of a attribute on the element (Example)
351
+
352
+ • setAttribute() method: is used to set an attribute on the specified element. If the attribute already exists on the element, the value is updated; otherwise a new attribute is added with the specified name and value (Example)
353
+
354
+ • removeAttribute() method: is used to remove an attribute from the specified element (Example)
355
+
356
+ 26
357
+
358
+ -------- Page 27 (JavaScript Basics-27.jpg) ---------
359
+ GETTING/SETTING HTML CONTENTS TO DOM
360
+
361
+ • The innerHTML property: this property sets or gets the HTML
362
+ markup contained within the element i.e. content between its
363
+ opening and closing tags. EX
364
+
365
+ • The innerHTML property replaces all existing content of an
366
+ element.
367
+
368
+ 27
369
+
370
+ -------- Page 28 (JavaScript Basics-28.jpg) ---------
371
+ JAVASCRIPT FORM VALIDATION
372
+
373
+ • Client-side validation is faster because validation occurs within
374
+ the user's web browser, whereas server-side validation occurs
375
+ on the server, which require user's input to be first submitted
376
+ and sent to the server before validation occurs, also user has
377
+ to wait for server response to know what exactly went wrong.
378
+
379
+ • The form validation process typically consists of two parts:
380
+ • The Required Fields Validation: is performed to make sure
381
+ that all the mandatory fields are filled in.
382
+ • The Data Format Validation: is performed to ensure that
383
+ the type and format of the data entered in the form is valid.
384
+
385
+ 28
386
+
387
+ -------- Page 29 (JavaScript Basics-29.jpg) ---------
388
+ JAVASCRIPT FORM VALIDATION
389
+
390
+ • The value of an individual form field can be accessed and
391
+ retrieved using the syntax
392
+ document.formName.fieldName.value
393
+
394
+ or
395
+
396
+ document.getElementsByName(name).value.
397
+
398
+
399
+ Good Example at the following link:
400
+ https://www.tutorialrepublic.com/codelab.php?topic=javascript&file=form-validation
401
+
402
+
403
+ Other useful examples:
404
+ https://www.tutorialrepublic.com/javascript-examples.php
405
+
406
+ 29
407
+
408
+ -------- Page 30 (JavaScript Basics-30.jpg) ---------
409
+ THE END
410
+
411
+
412
+ 30
data/2.txt ADDED
@@ -0,0 +1,234 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (2-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الانترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الثانية
11
+
12
+ أستاذة المادة
13
+ أ. وفاء حسين المصباحي
14
+
15
+ HTML5
16
+ CSS3
17
+ JS
18
+ Cloud
19
+ XML
20
+ flat
21
+ header
22
+ .com
23
+ footer
24
+ .net
25
+ PHP
26
+
27
+ ربيع 2025
28
+
29
+ -------- Page 2 (2-02.jpg) ---------
30
+ المواضيع التي سنتم دراستها في مقرر : مقدمه في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة الثانية
33
+
34
+ . Introduction . . مقدمة 1
35
+
36
+ . Basic concepts . . المفاهيم الأساسية 2
37
+
38
+ -------- Page 3 (2-03.jpg) ---------
39
+ Introduction مقدمة
40
+
41
+ الإنترنت Internet هو شبكة عالمية مكوّنة من مليارات من أجهزة الحواسيب التي تمكّن مستخدميها من الوصول إلى أي معلومات، ولذلك فإن فهم المصطلحات الأساسية لهذه التقنية هو جزء أساسي للتعامل مع هذا العالم الواسع، سنتعرف على أشهر هذه المصطلحات.
42
+
43
+ 1
44
+
45
+ -------- Page 4 (2-04.jpg) ---------
46
+ Basic concepts المفاهيم الأساسية
47
+
48
+ ❖ The Internet الإنترنت :
49
+ هو ربط واسع من الشبكات التي تتألف من الملايين من أجهزة الحواسيب والهواتف والأجهزة الذكية، مع عدم وجود منظمة أو جهة معينة تتحكم بهذه الشبكة تحكما كاملا، وإنما هي شبكات تابعة للشركات والأفراد، بحيث تقوم كل شبكة بتشغيل جزء من الإنترنت وتدفع تكاليف ذلك، وتتعاون فيما بينها لتوجيه حركة مرور البيانات، وبمجموع هذه الشبكات تكون الشبكة العالمية ( الإنترنت ) .
50
+
51
+ ❖ الشبكة العنكبوتية العالمية ( WWW ) : ( World Wide Web )
52
+ هي شبكة لتبادل المعلومات عبر الإنترنت، وهي نظام مكون من مستندات النص الفائق ( صفحات الويب Webpages ) المرتبطة بعضها، والتي يمكن الوصول إليها وتصفحها من خلال متصفح الويب، ويتم التنقل بين هذه الصفحات عبر الروابط التشعبية Hyperlinks، وأهم ما يميز صفحات الويب هو استخدام ( الوسائط المتعددة Multimedia ) من : صور ورسوم متحركة ومقاطع صوتية ومرئية مع النصوص، وكانت بداية هذه الشبكة في العام 1989 .
53
+
54
+ 2
55
+
56
+ -------- Page 5 (2-05.jpg) ---------
57
+ Basic concepts المفاهيم الأساسية
58
+
59
+ : Web browser متصفحات الويب
60
+
61
+ هو تطبيق يمكن المستخدم من عرض المواقع الإلكترونية والبيانات والمعلومات الموجودة على شبكة الإنترنت، توجد
62
+ مجموعة متنوعة من المتصفحات، وقد تم تصميمها لتعمل على أنظمة تشغيل مختلفة.
63
+ ومن هذه المتصفحات : Internet Explorer - Google Chrome - Firefox - Opera .
64
+
65
+ Firefox - Google Chrome - Opera
66
+
67
+ : مميزات المتصفحات
68
+
69
+ - جميعها مجانية، وتستخدم لنفس الهدف.
70
+ - تعمل بطريقةٍ متماثلة.
71
+ - من الممكن استخدام أكثر من متصفح على نفس الجهاز.
72
+
73
+ 3
74
+
75
+ -------- Page 6 (2-06.jpg) ---------
76
+ Basic concepts المفاهيم الأساسية
77
+
78
+ : موقع الويب Website
79
+ هو مجموعة من الصفحات webpages المتصلة على الشبكة العنكبوتية، والتي تعتبر كياناً واحداً يمتلكه عادة شخص واحد أو منظمة واحدة، هذه الصفحات تعرض على متصفح الويب web browser، وقد يعرض الموقع معلومات حول موضوع معين أو عدة مواضيع متصلة.
80
+
81
+ : تصنيف مواقع الويب
82
+ تصنف إلى ثلاث أنواع وذلك حسب :
83
+
84
+ 1. الجهة المالكة : الى مواقع أفراد
85
+ أو مواقع مؤسسات.
86
+
87
+ 2. البنية : الى مواقع ثابتة المحتوى static web sites
88
+ أو مواقع متغيرة المحتوى dynamic web sites.
89
+
90
+ 3. المحتوى : الى خدمات ومنتجات ملموسة
91
+ أو خدمات ومنتجات رقمية.
92
+
93
+ 4
94
+
95
+ -------- Page 7 (2-07.jpg) ---------
96
+ Basic concepts المفاهيم الأساسية
97
+
98
+ مواقع ثابتة المحتوى : Static web sites
99
+
100
+ تتم برمجتها باستخدام HTML، وهي غالبا مواقع بسيطة وصغيرة، لا ترتبط بقواعد بيانات أو ملفات خارجية يمكن تحديث
101
+ البيانات من خلالها، ولكن يتم إجراء التحديثا�� عليها من قبل مطوري المواقع يدويا.
102
+
103
+ ميزاتها:
104
+ سريعة التطوير - غير مكلفة عند الإنشاء والتطوير - تكاليف الإستضافة أقل من المواقع المتغيرة.
105
+
106
+ عيوبها:
107
+ تتطلب الخبرة لإجراء التحديثات، ويتم ذلك عن طريق مطوري المواقع.
108
+
109
+ 5
110
+
111
+ -------- Page 8 (2-08.jpg) ---------
112
+ Basic concepts المفاهيم الأساسية
113
+
114
+ مواقع متغيرة المحتوى Dynamic web sites :
115
+
116
+ أكثر تطورا من المواقع الثابـتة، وهي حاليا الأكثر تواجدا على الشبكة، تتم برمجتها باستخدام عدة لغات مثل : PHP ، ASP.
117
+ فهي تسمح بالإضافة والتحديث المستمر للصفحات، ولهذا أطلق عليها المواقع الديناميكية.
118
+
119
+ ميزاتها:
120
+
121
+ - الموقع المتغير موقع عملي دائم التحديث، وهذا يعد عنصر جذب للمستخدم.
122
+
123
+ - سهل التحديث: حيث يمكن للمسؤول عن الموقع أن يقوم بتحديث وإضافة محتوى جديد إلى الموقع دون الحاجة
124
+ للمعرفة بلغات برمجة المواقع، وذلك من خلال قواعد البيانات databases .
125
+
126
+ عيوبها:
127
+
128
+ أكثر تكلفة عند الإنشاء والتطوير من المواقع الثابتة - كما أن تكاليف الإستضافة أكثر بقليل من المواقع الثابتة.
129
+
130
+ 6
131
+
132
+ -------- Page 9 (2-09.jpg) ---------
133
+ Basic concepts المفاهيم الأساسية
134
+
135
+ موقع ديناميكي موقع ثابت
136
+ Dynamic website Static website
137
+
138
+ + DATABASE
139
+
140
+ HTML+CSS+JS HTML+CSS+JS
141
+ PHP
142
+
143
+ 7
144
+
145
+ -------- Page 10 (2-10.jpg) ---------
146
+ Basic concepts المفاهيم الأساسية
147
+
148
+ صفحة الويب Webpage :
149
+ صفحة الويب هو ما تراه في المتصفح عندما تكون متصلا بالإنترنت، وهي مستند يمكن قراءته وقد يحتوي على نصوص، أو صور، أو مقاطع مرئية، وتحتوي كل صفحة ويب على عنوان URL محدد يقود المستخدمين إليها.
150
+
151
+ URL :
152
+ إختصار لعبارة: عناوين الموارد الموحدة Uniform Resource Locators.
153
+ وهو عنوان الويب الذي نكتبه في شريط عنوان المتصفح للذهاب إلى مواقع الإنترنت.
154
+ أي باستخدام عنوان URL يتم تحديد موقع صفحات وملفات الإنترنت، ويسبق تحديد البروتوكول مثل: http:// أو ftp://
155
+
156
+ وتكون صيغة عنوان الموقع مثل:
157
+ http://www.examplewebsite.com/mypage
158
+ ويمكن إختصارها هكذا:
159
+ www.examplewebsite.com/mypage
160
+
161
+ في بعض الأحيان تكون أطول وأكثر تعقيدا، ولكنها تتبع جميع القواعد المعترف بها لتسمية عناوين URL.
162
+
163
+ 8
164
+
165
+ -------- Page 11 (2-11.jpg) ---------
166
+ Basic concepts المفاهيم الأساسية
167
+
168
+ نطاق المضيف Host domain:
169
+ الذي غالبا ما ينتهي بـ .com ، .net ، أو .org ، أو .edu . وهو اسم الملف أو اسم الصفحة Webpage ، وهو جزء من اسم
170
+ النطاق.
171
+
172
+ المضيف
173
+ examplewebsite.com
174
+ اسم النطاق
175
+
176
+ اسم النطاق Domain Name:
177
+ هو جزء فريد من عنوان URL ، ويتكون من جزأين:
178
+
179
+ - الكلمة أو العبارة الأبجدية الفعلية: "examplewebsite".
180
+ - اسم نطاق المستوى الأعلى الذي يحدد أي نوع من المواقع: النطاقات التجارية .com ، المنظمات .org ،
181
+ المؤسسات التعليمية .edu .
182
+
183
+ عند وضع هذين الجزأين معا
184
+ "examplewebsite.com"
185
+ يكون هذا هو اسم الموقع أو النطاق على الإنترنت.
186
+
187
+ 9
188
+
189
+ -------- Page 12 (2-12.jpg) ---------
190
+ Basic concepts المفاهيم الأساسية
191
+
192
+ : HTTP
193
+
194
+ هو اختصار " بروتوكول نقل النص التشعبي " , Hypertext Transfer Protocol وهو معيار الاتصالات ونقل البيانات عبر صفحات الويب webpages، عندما تحتوي صفحة الويب على هذه البادئة يجب أن تعمل الروابط، والنصوص، والصور بشكل صحيح في متصفح الويب.
195
+
196
+ HTTPs هو بروتوكول نقل النص الآمن Secure ويشير إلى أن صفحة الويب لديها طبقة خاصة من التشفير المضافة لإخفاء المعلومات الشخصية وكلمات السر الخاصة بك من الآخرين.
197
+
198
+ 10
199
+
200
+ -------- Page 13 (2-13.jpg) ---------
201
+ Basic concepts المفاهيم الأساسية
202
+
203
+ : Hyperlink الارتباط التشعبي
204
+
205
+ والمعروف باسم لبنة البناء الأساسية للشبكة العنكبوتية:
206
+
207
+ Block of the World Wide Web most basic building
208
+
209
+ الرابط التشعبي يمكن أن يكون كلمة أو جملة أو حتى صورة، عند الضغط عليها تنقلنا إلى ملف آخر، أو قسم آخر في نفس الملف.
210
+
211
+ تتواجد الروابط تقريبا في كل المواقع، وتربط المواقع ببعضها لتسمح للمستخدم بالإنتقال من صفحة إلى أخرى، وتصفح المواقع، وقراءة المعلومات على شبكة الإنترنت بسرعة وسهولة.
212
+
213
+ غالبا ما يتميز النص التشعبي باللون الأزرق، ويكون تحته خط.
214
+
215
+ 11
216
+
217
+ -------- Page 14 (2-14.jpg) ---------
218
+ Basic concepts المفاهيم الأساسية
219
+
220
+ : Websites Hosting إستضافة المواقع الإلكترونية
221
+
222
+ إستضافة المواقع هي عملية إستخدام خادم server لإستضافة موقع إلكتروني website ، من خلال توفير مساحة على
223
+ خادم الويب web servers من قبل مضيف الويب web host ( شركات الإستضافة )، ليكون الموقع متاحا لمستخدمي
224
+ الإنترنت.
225
+
226
+ لتوضيح الأمر أكثر ...
227
+
228
+ يمكن إعتبار الإستضافة كأنها شخص يمتلك عقارا ما ويطرحه للإيجار مقابل مبلغ معين .. الأمر نفسه في خدمة إستضافة
229
+ المواقع، حيث تقوم شركات الإستضافة بتأجير مساحة معينة للمواقع على أجهزة الخادم الخاصة بها.
230
+
231
+ 12
232
+
233
+ -------- Page 15 (2-15.jpg) ---------
234
+ Thank you
data/3.txt ADDED
@@ -0,0 +1,629 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #3-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الثالثة
11
+
12
+ أ. وفاء حسين المصباحي
13
+ أستاذة المادة
14
+
15
+ HTML5
16
+ CSS3
17
+ JS
18
+ Cloud
19
+ XML
20
+ flat
21
+ PHP
22
+ header
23
+ .com
24
+ footer
25
+ .net
26
+
27
+ 2025 ربيع
28
+
29
+ -------- Page 2 (Lecture #3-02.jpg) ---------
30
+ المواضيع التي سنمُر عليها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة الثالثة
33
+
34
+ 1
35
+ مقدمة . Introduction
36
+
37
+ 2
38
+ لغة الترميز HTML .
39
+
40
+ 3
41
+ محرات HTML .
42
+
43
+ 4
44
+ إصدارات HTML - HTML History .
45
+
46
+ 5
47
+ عناصر HTML - HTML Elements .
48
+
49
+ 6
50
+ أساسيات HTML - HTML Basic .
51
+
52
+ -------- Page 3 (Lecture #3-03.jpg) ---------
53
+ ٧ : عملي
54
+ . إنشاء مستند HTML
55
+
56
+ ٨ :
57
+
58
+ HTML : عناصر HTML Elements
59
+ HTML : وسوم HTML Tags
60
+
61
+ -------- Page 4 (Lecture #3-04.jpg) ---------
62
+ Introduction مقدمة
63
+
64
+ سنتعلم أحدث إصدار للغة الترميز القياسية HTML ، والتي تعد الخطوة الأولى لأي مطور Web ، إذ سنقوم بشرح لغة HTML5 بعد التمهيد لذلك من خلال شرح HTML التقليدية ، ثم يليها التعرف على معايير XHTML .
65
+
66
+ -------- Page 5 (Lecture #3-05.jpg) ---------
67
+ لغة الترميز HTML
68
+
69
+ : ما هي HTML
70
+
71
+ - HTML ترمز للعبارة ( Hyper Text Markup Language ) : لغة ترميز النص التشعبي.
72
+ - HTML هي لغة الترميز القياسية المستخدمة لإنشاء صفحات الويب Web pages.
73
+ - HTML تصف بنية صفحة الويب Web page.
74
+ - HTML تقوم بتسمية أجزاء من محتوى الصفحة من عناوين وفقرات وروابط وغيرها.
75
+ - HTML تتكون من سلسلة من العناصر Elements، هذه العناصر تخبر المتصفح Browser بكيفية عرض المحتوى.
76
+
77
+ 2
78
+
79
+ -------- Page 6 (Lecture #3-06.jpg) ---------
80
+ HTML محررات
81
+
82
+ . لكتابة مستند HTML كل ما تحتاجه هو محرر نصوص بسيط مثل : Notepad أو TextEdit لمستخدمي Mac .
83
+
84
+ . كما يمكنك استخدام محرر نصوص متقدم مثل : Notepad++ ، Dreamweaver ، Visual Studio Code .
85
+ 3
86
+
87
+ -------- Page 7 (Lecture #3-07.jpg) ---------
88
+ HTML History - HTML إصدارات
89
+
90
+ منذ الأيام الأولى لشبكة الويب العالمية كان هناك العديد من إصدارات HTML :
91
+
92
+ تاريخ الإصدار الإصدار
93
+ 1991 HTML
94
+ 1995 HTML 2.0
95
+ 1997 HTML 3.2
96
+ 1999 HTML 4.01
97
+ 2000 XHTML
98
+ 2014 HTML5
99
+ 2016 HTML 5.1
100
+ 2017 HTML 5.2
101
+
102
+ 4
103
+
104
+ -------- Page 8 (Lecture #3-08.jpg) ---------
105
+ HTML Elements - عناصر HTML
106
+
107
+ تتكون HTML من شفرات تسمى ( وسوم - Tags ) فتأتي هذه الوسوم بشكل طبيعي بزوجين اثنين : وسوم البداية start tag، ووسم النهاية end tag مع إدراج المحتوى بينهما كالتالي:
108
+
109
+ <Tag name> هنا يكتب محتوى العنصر </Tag name>
110
+
111
+ وسم البداية وسم النهاية ويتميز بالعلامة /
112
+
113
+ - وسم النهاية End Tag هو نفسه وسم البداية Start Tag ، ولكن مع إدراج شرطة مائلة للأمام ( / : Slash ) قبل الوسم.
114
+
115
+ - عنصر HTML - HTML Element : يبدأ من وسم البداية حتى وسم النهاية مرورا بالمحتوى بينهما.
116
+
117
+ مثال :
118
+
119
+ <p> الفقرة الأولى </p>
120
+
121
+ 5
122
+
123
+ -------- Page 9 (Lecture #3-09.jpg) ---------
124
+ HTML Elements - عناصر HTML
125
+
126
+ أنواع العناصر / الوسوم في HTML:
127
+ يوجد نوعين من الوسوم Tags:
128
+
129
+ 1. وسوم فردية Single Tags: ويتكون من وسم البداية وهو نفسه وسم النهاية ولا يمكن وضع وسوم أخرى بداخله،
130
+ مثل:
131
+ <br/>
132
+
133
+ عند استخدام وسم فردي يمكنك عدم وضع الرمز / في آخره، ولكن من الأفضل وضع الرمز / وذلك للإشارة على أنه وسم فردي،
134
+ مثل:
135
+ <br/>
136
+
137
+ 2. وسوم زوجية Paired Tags: ويتكون من وسم البداية و وسم النهاية ويمكن وضع وسوم أخرى بداخله، مثل:
138
+ <p> ... </p>
139
+
140
+ 6
141
+
142
+ -------- Page 10 (Lecture #3-10.jpg) ---------
143
+ HTML Elements - عناصر HTML
144
+
145
+ أنواع العناصر / الوسوم في HTML بين Block و Inline:
146
+
147
+ يوجد نوعين من الوسوم Tags :
148
+
149
+ 1. وسوم من نوع Block: تحتل السطر كاملاً بما فيه الفراغ الموجود أمامها، ولا تسمح لعناصر أخرى أن تحتل ذلك الفراغ، حتى وإن كانت عناصر من نفس العلامة فكل واحدة تأخذ حيزها كاملاً، مثل:
150
+
151
+ <p> ... </p>
152
+
153
+ <h1> ... </h1>
154
+
155
+ 2. وسوم من نوع Inline: يحتل السطر الذي يظهر فيه، ويترك الفراغ الباقي لأي عنصر آخر من نفس النوع أو نوع آخر، مثل:
156
+
157
+ <a> ... </a>
158
+
159
+ ملاحظة:
160
+
161
+ - العنصر من النوع block قد يحتوي على عناصر من نفس النوع أو من النوع inline أو كلا النوعين.
162
+ - العنصر من النوع inline لا يحتوي سوى على عناصر من نفس نوعه، بمعنى لا تضع أبداً عنصر block داخل inline.
163
+
164
+ 7
165
+
166
+ -------- Page 11 (Lecture #3-11.jpg) ---------
167
+ HTML Basic - HTML أساسيات
168
+
169
+ البنية الرئيسية لصفحة HTML : تتكون صفحة HTML من ثلاث مناطق :
170
+
171
+ <html>
172
+
173
+ <head>
174
+ <title> عنوان الصفحة </title>
175
+
176
+ معلومات عن الصفحة مثل:
177
+ العنوان / روابط لملفات خارجية / اللغة / ..
178
+
179
+ </head>
180
+
181
+ <body>
182
+
183
+ هنا محتويات الصفحة:
184
+ نصوص / صور / روابط / جداول / ..
185
+
186
+ </body>
187
+
188
+ </html>
189
+
190
+ المحتوى غير الظاهر
191
+ المحتوى الظاهر
192
+
193
+ 8
194
+
195
+ -------- Page 12 (Lecture #3-12.jpg) ---------
196
+ HTML Basic - أساسيات HTML
197
+
198
+ 1. المنطقة الرئيسية : Main Section
199
+ - وهي المنطقة المحصورة بين الوسمين : <html> … </html>
200
+ - العنصر <html> هو الوسم الأساسي لصفحة html.
201
+ - هذه المنطقة تحدد بداية و نهاية الصفحة، وتضم منطقتي رأس head وجسم body الصفحة، فهي تضم كامل المستند.
202
+
203
+ 2. منطقة رأس الصفحة : Head Section
204
+ - وهي المنطقة المحصورة بين الوسمين : <head> … </head>
205
+ - العنصر <head> تحتوي على معلومات تصف المستند.
206
+ - هذه المنطقة تحتوي على مجموعة من عناصر HTML مثل : <title> ، <meta> ، <style> ، <link> ، أغلبها لا يظهر في مستعرض الويب web browser. هذه العناصر Elements تحدد البيانات الوصفية ومجموعة الأحرف والأنماط والروابط للموارد الخارجية مثل ملفات CSS ، وكذلك إضافة المعلومات التي تستخدمها محركات البحث من أجل الأرشفة والبحث.
207
+ - المهمة الرئيسية لهذه المنطقة هي إعطاء معلومات عن محتوى الصفحة.
208
+
209
+ 9
210
+
211
+ -------- Page 13 (Lecture #3-13.jpg) ---------
212
+ HTML Basic - أساسيات HTML
213
+
214
+ - العنصر <title> يدرج داخل <head> ، ويحتوي عنوان الملف، ويجب أن يكون العنوان نصيا فقط ( لا تكتب أي عناصر داخله )، ويظهر هذا العنوان في ( شريط عنوان المتصفح ، في علامة تبويب الصفحة ) ، العنصر <title> مطلوب في مستندات <html> لأنه: (يعرض في نتائج محركات البحث - يوفر عنوانا للصفحة عند إضافتها إلى المفضلة ) .. لذا حاول أن تجعل العنوان دقيقا ومعبرا عن المحتوى.
215
+
216
+ 3. منطقة جسم الصفحة : Body Section :
217
+
218
+ - وهي المنطقة المحصورة بين الوسمين : <body> ... </body>
219
+
220
+ - العنصر <body> يحتوي على محتوى الصفحة المرئي.
221
+
222
+ - هذه المنطقة هي التي تنتج الشكل النهائي للصفحة، وفيها جميع العناصر التي سيتم عرضها.
223
+
224
+ <html> , <head> , <title> , <body>
225
+ هذه الوسوم هي الوسوم الرئيسية في مستند html
226
+
227
+ 10
228
+
229
+ -------- Page 14 (Lecture #3-14.jpg) ---------
230
+ عملي : إنشاء مستند HTML
231
+
232
+ إنشاء مستند : HTML
233
+
234
+ - برنامج Visual Studio code لكتابة مستند HTML. يتم تنزيل البرنامج من الإنترنت.
235
+
236
+ Visual Studio Code
237
+
238
+ - إنشاء مجلد على سطح المكتب.
239
+
240
+ - عرض مستند HTML على أحد المستعرضات : Browsers
241
+
242
+ Firefox - Google Chrome - Opera
243
+
244
+ 11
245
+
246
+ -------- Page 15 (Lecture #3-15.jpg) ---------
247
+ HTML Elements : HTML عناصر
248
+ HTML Tags : HTML وسوم
249
+
250
+ <script> ، <style> ، <link> ، <meta> ، <title> : العناصر/الوسوم داخل وسم head
251
+ <title> : وسم
252
+ <title> عنصر -
253
+
254
+ <html>
255
+
256
+ <head>
257
+ <title> Learn HTML language </title>
258
+ </head>
259
+
260
+ <body>
261
+ HTML Language
262
+ </body>
263
+
264
+ </html>
265
+
266
+ عملي: فتح برنامج Visual Studio Code ثم فتح مجلد باسم HTML Language على سطح المكتب، ثم فتح ملف باسم
267
+ Program#1.html بامتداد .html.
268
+
269
+ 12
270
+
271
+ -------- Page 16 (Lecture #3-16.jpg) ---------
272
+ ( program#1.html ) عملي
273
+
274
+ Visual Studio Code
275
+
276
+ program#1.html x
277
+ Welcome
278
+ HTML LANGUAGE
279
+ program#1.html …
280
+ 1 <html>
281
+ 2
282
+ 3 <head>
283
+ 4 <title> Learn HTML language </title>
284
+ 5 </head>
285
+ 6
286
+ 7 <body>
287
+ 8 HTML Language
288
+ 9 </body>
289
+ 10
290
+ 11 </html>
291
+ 12
292
+
293
+ OUTLINE
294
+ TIMELINE
295
+
296
+ Opera Internet Explorer
297
+
298
+ Learn HTML language
299
+ file:///C:/Users/Z10/Desktop/HTML%20language/…
300
+ HTML Language
301
+
302
+ 13
303
+
304
+ -------- Page 17 (Lecture #3-17.jpg) ---------
305
+ HTML Elements : عناصر HTML
306
+ HTML Tags : وسوم HTML
307
+
308
+ - عنصر <meta> : وسم <meta>
309
+
310
+ HTML Attributes : السمات/الخصائص
311
+
312
+ تطلق كلمة خاصية Attribute على التعابير التي تضاف إلى الوسوم، من أجل تحديد الشكل أو الكيفية التي تعمل بها هذه الوسوم.
313
+
314
+ الوسم يقوم بإخبار المتصفح عن العمل الذي يجب القيام به، أما الخاصية فتحدد الكيفية التي سيتم بها أداء هذا العمل.
315
+
316
+ ملاحظة:
317
+ - السمات/الصفات توفر معلومات إضافية لعناصر HTML.
318
+ - جميع أو أغلب عناصر HTML يمكن أن تحتوي على سمات/صفات.
319
+ - السمات/الصفات تكون دائماً في وسم البداية.
320
+ - السمات/الصفات عادة ما تأتي على شكل أزواج (الاسم = القيمة) :
321
+ Name = “value“
322
+
323
+ 14
324
+
325
+ -------- Page 18 (Lecture #3-18.jpg) ---------
326
+ HTML Elements : HTML عناصر
327
+ HTML Tags : HTML وسوم
328
+
329
+ - عنصر <meta> : وسم <meta>
330
+
331
+ <html lang=“en”>
332
+ <head>
333
+ <title> Learn HTML language </title>
334
+ <meta charset=‘utf-8’>
335
+ <meta name=“description” content=“study“>
336
+ <meta name=“keywords” content=“html,css,javascript”>
337
+ <meta name=“author” content=“Wafa Elmisbahi”>
338
+ </head>
339
+
340
+ <body>
341
+ HTML Language
342
+ </body>
343
+ </html>
344
+
345
+ 15
346
+
347
+ -------- Page 19 (Lecture #3-19.jpg) ---------
348
+ HTML Elements : عناصر HTML
349
+ HTML Tags : وسوم HTML
350
+
351
+ - عنصر <meta> : وسم <meta>
352
+
353
+ en ar
354
+
355
+ <html lang=“en”>
356
+ <head>
357
+ <title> Learn HTML language </title>
358
+ <meta charset=“utf-8”>
359
+ <meta name=“description” content=“study“>
360
+ <meta name=“keywords” content=“html,css,javascript”>
361
+ <meta name=“author” content=“Wafa Elmisbahi”>
362
+ </head>
363
+
364
+ <body>
365
+ HTML Language
366
+ </body>
367
+ </html>
368
+
369
+ يدعم اللغة العربية
370
+ يظهر الوصف عند البحث عبر google
371
+ الكلمات التي يتم البحث بها في google
372
+ مؤلف الموقع
373
+
374
+ 16
375
+
376
+ -------- Page 20 (Lecture #3-20.jpg) ---------
377
+ ( program#2.html ) عملي
378
+
379
+ EXPLORER
380
+ HTML LANGUAGE
381
+ program#1.html
382
+ program#2.html
383
+
384
+ Welcome
385
+ program#1.html
386
+ program#2.html
387
+
388
+ HTML language
389
+
390
+ program#2.html html
391
+ 1 <html lang="en">
392
+ 2 <head>
393
+ 3 <title> Learn HTML language </title>
394
+ 4 <meta charset="utf-8">
395
+ 5 <meta name="description" content="study">
396
+ 6 <meta name="keywords" content="html,css,javascript">
397
+ 7 <meta name="author" content="Wafa Elmisbahi">
398
+ 8 </head>
399
+ 9
400
+ 10 <body>
401
+ 11 HTML Language
402
+ 12 </body>
403
+ 13 </html>
404
+
405
+ OUTLINE
406
+ TIMELINE
407
+
408
+ Learn HTML language
409
+ file:///C:/Users/Z10/Desktop/HTML%20language/
410
+ HTML Language
411
+
412
+ 17
413
+
414
+ -------- Page 21 (Lecture #3-21.jpg) ---------
415
+ HTML Elements : HTML عناصر
416
+ HTML Tags : HTML وسوم
417
+
418
+ <link> عنصر : <link> وسم
419
+
420
+ <html lang=“en”>
421
+ <head>
422
+ <title> Learn HTML language </title>
423
+ <meta charset=‘utf-8’>
424
+ <meta name=“description” content=“study“>
425
+ <meta name=“keywords” content=“html,css,javascript”>
426
+ <meta name=“author” content=“Wafa Elmisbahi”>
427
+ <link rel=“stylesheet” href=“ ….”>
428
+ </head>
429
+ <body>
430
+ HTML Language
431
+ </body>
432
+ </html>
433
+
434
+ 18
435
+
436
+ -------- Page 22 (Lecture #3-22.jpg) ---------
437
+ HTML Elements : HTML عناصر
438
+ HTML Tags : HTML وسوم
439
+
440
+ <link> وسـم : <link> عنصر -
441
+
442
+ <html lang=“en”>
443
+
444
+ <head>
445
+
446
+ <title> Learn HTML language </title>
447
+
448
+ <meta charset=‘utf-8’>
449
+
450
+ <meta name=“description” content=“study“>
451
+
452
+ <meta name=“keywords” content=“html,css,javascript”>
453
+
454
+ <meta name=“author” content=“Wafa Elmisbahi”>
455
+
456
+ <link rel=“stylesheet” href=“ ….”>
457
+
458
+ </head>
459
+
460
+ <body>
461
+
462
+ HTML Language
463
+
464
+ </body>
465
+
466
+ </html>
467
+
468
+ CSS ملف
469
+ موقع ملف CSS
470
+ ملف CSS
471
+
472
+ 19
473
+
474
+ -------- Page 23 (Lecture #3-23.jpg) ---------
475
+ HTML Elements : HTML عناصر
476
+ HTML Tags : HTML وسوم
477
+
478
+ <style> عنصر : <style> وسم -
479
+
480
+ <html lang=“en”>
481
+ <head>
482
+ <title> Learn HTML language </title>
483
+ <meta charset=‘utf-8’>
484
+ <meta name=“description” content=“study“>
485
+ <meta name=“keywords” content=“html,css,javascript”>
486
+ <meta name=“author” content=“Wafa Elmisbahi”>
487
+
488
+ <style>
489
+ body{
490
+ background: blue;
491
+ }
492
+ </style>
493
+ </head>
494
+
495
+ <body>
496
+ HTML Language
497
+ </body>
498
+ </html>
499
+
500
+ 20
501
+
502
+ -------- Page 24 (Lecture #3-24.jpg) ---------
503
+ HTML Elements : HTML عناصر HTML
504
+ HTML Tags : HTML وسوم
505
+
506
+ - عنصر : <style>
507
+ وسوم : <style>
508
+
509
+ <html lang=“en”>
510
+ <head>
511
+ <title> Learn HTML language </title>
512
+ <meta charset=‘utf-8’>
513
+ <meta name=“description” content=“study“>
514
+ <meta name=“keywords” content=“html,css,javascript”>
515
+ <meta name=“author” content=“Wafa Elmisbahi”>
516
+ <style>
517
+ body{
518
+ background: blue;
519
+ }
520
+ </style>
521
+ </head>
522
+ <body>
523
+ HTML Language
524
+ </body>
525
+ </html>
526
+
527
+ هذا الكود يحول خلفية ملف html إلى اللون الأزرق
528
+ Code CSS
529
+
530
+ 21
531
+
532
+ -------- Page 25 (Lecture #3-25.jpg) ---------
533
+ عملي ( program#3.html )
534
+
535
+ EXPLORER
536
+ HTML LANGUAGE
537
+ program#1.html
538
+ program#2.html
539
+ program#3.html
540
+
541
+ Welcome program#1.html program#2.html program#3.html
542
+
543
+ <html lang="en">
544
+ <head>
545
+ <title> Learn HTML language </title>
546
+ <meta charset='utf-8'>
547
+ <meta name="description" content="study">
548
+ <meta name="keywords" content="html,css,javascript">
549
+ <meta name="author" content="Wafa Elmisbahi">
550
+ <style>
551
+ body{
552
+ background: blue;
553
+ }
554
+ </style>
555
+ </head>
556
+ <body>
557
+ HTML Language
558
+ </body>
559
+ </html>
560
+
561
+ OUTLINE
562
+ TIMELINE
563
+
564
+ Learn HTML language
565
+ file:///C:/Users/Z10/Desktop/HTML%20language/prog...
566
+ HTML Language
567
+
568
+ -------- Page 26 (Lecture #3-26.jpg) ---------
569
+ HTML Elements : HTML عناصر
570
+ HTML Tags : HTML وسوم
571
+
572
+ <script> وسـم : <script> عنصر -
573
+
574
+ <html lang="en">
575
+ <head>
576
+ <title> Learn HTML language </title>
577
+ <meta charset="utf-8">
578
+ <meta name="description" content="study">
579
+ <meta name="keywords" content="html,css,javascript">
580
+ <meta name="author" content="Wafa Elmisbahi">
581
+ <style>
582
+ body{
583
+ background: blue;
584
+ }
585
+ </style>
586
+ <script>
587
+
588
+ </script>
589
+ </head>
590
+ <body>
591
+ HTML Language
592
+ </body>
593
+ </html>
594
+
595
+ 23
596
+
597
+ -------- Page 27 (Lecture #3-27.jpg) ---------
598
+ HTML Elements : HTML عناصر
599
+ HTML Tags : HTML وسوم
600
+
601
+ عنصر <script> : <script> وسم
602
+
603
+ <html lang=“en”>
604
+ <head>
605
+ <title> Learn HTML language </title>
606
+ <meta charset=‘utf-8’>
607
+ <meta name=“description” content=“study“>
608
+ <meta name=“keywords” content=“html,css,javascript”>
609
+ <meta name=“author” content=“Wafa Elmisbahi”>
610
+ <style>
611
+ body{
612
+ background: blue;
613
+ }
614
+ </style>
615
+
616
+ <script>
617
+ { Code JavaScript
618
+ </script>
619
+
620
+ </head>
621
+ <body>
622
+ HTML Language
623
+ </body>
624
+ </html>
625
+
626
+ 24
627
+
628
+ -------- Page 28 (Lecture #3-28.jpg) ---------
629
+ Thank you
data/4.txt ADDED
@@ -0,0 +1,943 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #4-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet
7
+ Programming
8
+
9
+ [ ITGS226 ]
10
+
11
+ المحاضرة الرابعة
12
+
13
+ أ. وفاء حسين المصباحي
14
+ أستاذة المادة
15
+
16
+ HTML5
17
+ CSS3
18
+ JS
19
+ Cloud
20
+ XML
21
+ flat
22
+ PHP
23
+ header
24
+ .com
25
+ footer
26
+ .net
27
+
28
+ 2025 ربيع
29
+
30
+ -------- Page 2 (Lecture #4-02.jpg) ---------
31
+ المواضيع التي سيتم دراستها في مقرر: مقدمة في برمجة الإنترنت
32
+ Introduction to Internet Programming
33
+ المحاضرة الرابعة
34
+
35
+ . HTML Headings العناوين
36
+
37
+ . HTML Paragraphs الفقرات
38
+
39
+ -------- Page 3 (Lecture #4-03.jpg) ---------
40
+ العناوين HTML Headings
41
+
42
+ العناوين يتم تعريفها عن طريق إستخدام الوسوم : <h1> ، <h2> ، <h3> ، <h4> ، <h5> ، <h6> . هذه الوسوم
43
+ تجعل العنوان عريضاً مع إضافة سطر فارغ تحت العنوان، حرف h هو إختصار لكلمة heading .
44
+
45
+ - <h1> يحدد العنوان الأكثر أهمية، ويستخدم للعناوين الرئيسية لأنه الأكبر حجماً.
46
+
47
+ - <h2> أقل حجماً بقليل من <h1> ، ثم <h3> وهكذا...، إلى <h6> ويحدد العنوان الأقل حجماً وأهمية.
48
+
49
+ - هي عنصر block : تحتل السطر كاملاً بما فيه الفراغ الموجود أمامها، ولا تسمح لعناصر أخرى أن تحتل ذلك
50
+ الفراغ، حتى وإن كانت عناصر من نفس العلامة فكل واحدة تأخذ حيزها كاملاً.
51
+
52
+ ملاحظات:
53
+
54
+ - محركات البحث تستخدم العناوين لفهرسة البنية الأساسية ومحتوى صفحات الويب.
55
+
56
+ - يعمل المستخدمون على التنقل بين صفحات الويب حسب العناوين، لذا لابد من استخدام العناوين المناسبة.
57
+
58
+ - وسوم العناوين تستخدم لتنسيق العناوين فقط، ولا يجب استخدامها لتنسيق أي نص آخر.
59
+
60
+ -------- Page 4 (Lecture #4-04.jpg) ---------
61
+ HTML Headings العناوين
62
+
63
+ : (1) مثال -
64
+
65
+ <html lang=“en”>
66
+ <head>
67
+ <title> page to heading elements </title>
68
+ <meta charset=‘utf-8’>
69
+ </head>
70
+ <body>
71
+ <h1> heading to level 1 </h1>
72
+ <h2> heading to level 2 </h2>
73
+ <h3> heading to level 3 </h3>
74
+ <h4> heading to level 4 </h4>
75
+ <h5> heading to level 5 </h5>
76
+ <h6> heading to level 6 </h6>
77
+ </body>
78
+ </html>
79
+
80
+ 2
81
+
82
+ -------- Page 5 (Lecture #4-05.jpg) ---------
83
+ ( program#4.html ) عملي
84
+
85
+ EXPLORER
86
+
87
+ HTML LANGUAGE
88
+ program#1.html
89
+ program#2.html
90
+ program#3.html
91
+ program#4.html
92
+ program#5.html
93
+ program#6.html
94
+ program#7.html
95
+ program#8.html
96
+ program#9.html
97
+
98
+ OUTLINE
99
+ TIMELINE
100
+
101
+ program#4.html
102
+
103
+ program#4.html › html › body › h4
104
+
105
+ 1 <html lang="en">
106
+ 2 <head>
107
+ 3 <title> page to heading elements </title>
108
+ 4 <meta charset='utf-8'>
109
+ 5 </head>
110
+ 6 <body>
111
+ 7 <h1> heading to level 1 </h1>
112
+ 8 <h2> heading to level 2 </h2>
113
+ 9 <h3> heading to level 3 </h3>
114
+ 10 <h4> heading to level 4 </h4>
115
+ 11 <h5> heading to level 5 </h5>
116
+ 12 <h6> heading to level 6 </h6>
117
+ 13 </body>
118
+ 14 </html>
119
+
120
+ Ln 10, Col 34 Spaces: 4 UTF-8 CRLF HTML
121
+
122
+ -------- Page 6 (Lecture #4-06.jpg) ---------
123
+ ( program#4.html ) عملي
124
+
125
+ page to heading elements
126
+
127
+ heading to level 1
128
+
129
+ heading to level 2
130
+
131
+ heading to level 3
132
+
133
+ heading to level 4
134
+
135
+ heading to level 5
136
+
137
+ heading to level 6
138
+
139
+ -------- Page 7 (Lecture #4-07.jpg) ---------
140
+ HTML Headings العناوين
141
+
142
+ : مثال (1)
143
+
144
+ ✓ قمنا بتزويد الوسم <body> بالصفة dir والتي تحدد إتجاه قراءة المستند وقمنا بإسناد القيمة rtl لها وذلك لجعل إتجاه القراءة من اليمين إلى اليسار right to left وهو ما يتناسب مع اللغة العربية.
145
+ ✓ في حال أنه لم يتم كتابة هذه الصفة فإن القيمة الإفتراضية لها ltr أي إتجاه القراءة الإفتراضي من اليسار إلى اليمين.
146
+
147
+ <html lang=“ar”>
148
+ <head>
149
+ <title> صفحة لعناصر العنوان </title>
150
+ <meta charset=‘utf-8’>
151
+ </head>
152
+ <body dir=‘rtl’>
153
+ <h1> عنوان لمستوى 1 </h1>
154
+ <h2> عنوان لمستوى 2 </h2>
155
+ <h3> عنوان لمستوى 3 </h3>
156
+ <h4> عنوان لمستوى 4 </h4>
157
+ <h5> عنوان لمستوى 5 </h5>
158
+ <h6> عنوان لمستوى 6 </h6>
159
+ </body>
160
+ </html>
161
+
162
+ 5
163
+
164
+ -------- Page 8 (Lecture #4-08.jpg) ---------
165
+ ( program#5.html ) عملي
166
+
167
+ EXPLORER
168
+ HTML LANGUAGE
169
+ program#1.html
170
+ program#2.html
171
+ program#3.html
172
+ program#4.html
173
+ program#5.html
174
+ program#6.html
175
+ program#7.html
176
+ program#8.html
177
+ program#9.html
178
+
179
+ OUTLINE
180
+ TIMELINE
181
+
182
+ program#5.html x
183
+ program#5.html ...
184
+
185
+ 1 <html lang="ar">
186
+ 2 <head>
187
+ 3 <title> صفحة لعناصر العنوان </title>
188
+ 4 <meta charset='utf-8'>
189
+ 5 </head>
190
+ 6 <body dir='rtl'>
191
+ 7 <h1> ١ عنوان لمستوى </h1>
192
+ 8 <h2> ٢ عنوان لمستوى </h2>
193
+ 9 <h3> ٣ عنوان لمستوى </h3>
194
+ 10 <h4> ٤ عنوان لمستوى </h4>
195
+ 11 <h5> ٥ عنوان لمستوى </h5>
196
+ 12 <h6> ٦ عنوان لمستوى </h6>
197
+ 13 </body>
198
+ 14 </html>
199
+ 15
200
+
201
+ Ln 15, Col 1 Spaces: 4 UTF-8 CRLF HTML
202
+
203
+ 6
204
+
205
+ -------- Page 9 (Lecture #4-09.jpg) ---------
206
+ عملي ( program#5.html )
207
+
208
+ صفحة لتعامل العناصر
209
+ file:///C:/Users/Z10/Deskt
210
+
211
+ عنوان لمستوى 1
212
+ عنوان لمستوى 2
213
+ عنوان لمستوى 3
214
+ عنوان لمستوى 4
215
+ عنوان لمستوى 5
216
+ عنوان لمستوى 6
217
+
218
+ -------- Page 10 (Lecture #4-10.jpg) ---------
219
+ الفقرات HTML Paragraphs
220
+
221
+ - تعرف الفقرات بالوسم <p> ... </p> ضع فقرتك داخل هذا الوسم، سيميز الفقرة ويضيف سطرا فارغا بعدها.
222
+ - هو عنصر block: تحتل السطر كاملا بما فيه الفراغ الموجود أمامها، ولا تسمح لعناصر أخرى أن تحتل ذلك الفراغ، حتى وإن كانت عناصر من نفس العلامة فكل واحدة تأخذ حيزها كاملا.
223
+
224
+ 8
225
+
226
+ -------- Page 11 (Lecture #4-11.jpg) ---------
227
+ HTML Paragraphs الفقرات
228
+
229
+ : (1) مثال -
230
+
231
+ <html lang="en">
232
+ <head>
233
+ <title> HTML Paragraphs </title>
234
+ <meta charset='utf-8'>
235
+ </head>
236
+ <body>
237
+ <p> WEB PAGE: a single document on a website, usually consisting of HTML
238
+ document and any items that are displayed within that document, such as inline
239
+ images or style sheets. </p>
240
+ </body>
241
+ </html>
242
+
243
+ 9
244
+
245
+ -------- Page 12 (Lecture #4-12.jpg) ---------
246
+ ( program#6.html ) عملي
247
+
248
+ EXPLORER
249
+ HTML LANGUAGE
250
+ program#1.html
251
+ program#2.html
252
+ program#3.html
253
+ program#4.html
254
+ program#5.html
255
+ program#6.html
256
+ program#7.html
257
+ program#8.html
258
+ program#9.html
259
+
260
+ program#6.html x
261
+
262
+ program#6.html
263
+ 1 <html lang="en">
264
+ 2 <head>
265
+ 3 <title> HTML Paragraphs </title>
266
+ 4 <meta charset='utf-8'>
267
+ 5 </head>
268
+ 6 <body>
269
+ 7 <p> WEB PAGE: a single document on a website, usually cons
270
+ 8 document and any items that are displayed within that
271
+ 9 images or style sheets. </p>
272
+ 10
273
+ 11 </body>
274
+ 12 </html>
275
+ 13
276
+
277
+ OUTLINE
278
+ TIMELINE
279
+
280
+ Ln 13, Col 1 Spaces: 4 UTF-8 CRLF HTML
281
+
282
+ -------- Page 13 (Lecture #4-13.jpg) ---------
283
+ ( program#6.html ) عملي
284
+
285
+ HTML Paragraphs
286
+
287
+ WEB PAGE: a single document on a website, usually consisting of HTML document and any items that are displayed within that document, such as inline images or style sheets.
288
+
289
+ 11
290
+
291
+ -------- Page 14 (Lecture #4-14.jpg) ---------
292
+ HTML Paragraphs الفقرات
293
+
294
+ : (2) مثال -
295
+
296
+ <html lang="en">
297
+ <head>
298
+ <title> HTML Paragraphs </title>
299
+ <meta charset='utf-8'>
300
+ </head>
301
+ <body>
302
+ <h1> WEB PAGE: </h1>
303
+ <p> a single document on a website, usually consisting of HTML
304
+ document and any items that are displayed within that document, such as inline
305
+ images or style sheets. </p>
306
+ </body>
307
+ </html>
308
+
309
+ 12
310
+
311
+ -------- Page 15 (Lecture #4-15.jpg) ---------
312
+ ( program#7.html ) عملي
313
+
314
+ EXPLORER
315
+
316
+ HTML LANGUAGE
317
+ program#1.html
318
+ program#2.html
319
+ program#3.html
320
+ program#4.html
321
+ program#5.html
322
+ program#6.html
323
+ program#7.html
324
+ program#8.html
325
+ program#9.html
326
+
327
+ OUTLINE
328
+ TIMELINE
329
+
330
+ program#7.html
331
+
332
+ <html lang="en">
333
+ <head>
334
+ <title> HTML Paragraphs </title>
335
+ <meta charset='utf-8'>
336
+ </head>
337
+ <body>
338
+ <h1> WEB PAGE: </h1>
339
+ <p> a single document on a website, usually consisting of
340
+ document and any items that are displayed within that
341
+ images or style sheets. </p>
342
+ </body>
343
+ </html>
344
+
345
+ Ln 12, Col 5 Spaces: 4 UTF-8 CRLF HTML
346
+
347
+ -------- Page 16 (Lecture #4-16.jpg) ---------
348
+ ( program#7.html ) عملي
349
+
350
+ HTML Paragraphs
351
+
352
+ WEB PAGE:
353
+
354
+ a single document on a website, usually consisting of HTML document and any items that are displayed within that
355
+ document, such as inline images or style sheets.
356
+
357
+ 14
358
+
359
+ -------- Page 17 (Lecture #4-17.jpg) ---------
360
+ HTML Paragraphs الفقرات
361
+
362
+ <html lang="en">
363
+ <head>
364
+ <title> HTML Paragraphs </title>
365
+ <meta charset='utf-8'>
366
+ </head>
367
+ <body>
368
+ <p> WEB PAGE: a single document on a website, usually consisting of HTML
369
+ document and any items that are displayed within that document, such as inline
370
+ images or style sheets. </p>
371
+ <p> HOME PAGE: The entry page for a website, which can link to additional pages
372
+ on the same website or pages on other sites. </p>
373
+ <p> WEBSITE: a collection of one or more web pages linked together. </p>
374
+ <p> WEB BROWSER: is an application which is used to view pages and navigate
375
+ the World Wide Web. Popular examples: Firefox, Internet Explorer, Safari,
376
+ Chrome, and Opera. </p>
377
+ </body>
378
+ </html>
379
+
380
+ مثال (3) :
381
+
382
+ 15
383
+
384
+ -------- Page 18 (Lecture #4-18.jpg) ---------
385
+ ( program#8.html ) عملي
386
+
387
+ EXPLORER
388
+ HTML LANGUAGE
389
+ program#1.html
390
+ program#2.html
391
+ program#3.html
392
+ program#4.html
393
+ program#5.html
394
+ program#6.html
395
+ program#7.html
396
+ program#8.html
397
+ program#9.html
398
+
399
+ OUTLINE
400
+ TIMELINE
401
+
402
+ program#8.html html body p
403
+
404
+ program#8.html x
405
+
406
+ 1 <html lang="en">
407
+ 2 <head>
408
+ 3 <title> HTML Paragraphs </title>
409
+ 4 <meta charset='utf-8'>
410
+ 5 </head>
411
+ 6 <body>
412
+ 7 <p> WEB PAGE: a single document on a website, usually con
413
+ 8 document and any items that are displayed within that
414
+ 9 images or style sheets. </p>
415
+ 10 <p> HOME PAGE: The entry page for a website, which can lin
416
+ 11 on the same website or pages on other sites. </p>
417
+ 12 <p> WEBSITE: a collection of one or more web pages linked
418
+ 13 <p> WEB BROWSER: is an application which is used to view
419
+ 14 the World Wide Web. Popular examples: Firefox, Interne
420
+ 15 Chrome, and Opera. </p>
421
+ 16 </body>
422
+ 17 </html>
423
+
424
+ HTML language
425
+
426
+ Ln 15, Col 20 Spaces: 4 UTF-8 CRLF HTML
427
+
428
+ 16
429
+ 0 0 0
430
+
431
+ -------- Page 19 (Lecture #4-19.jpg) ---------
432
+ ( program#8.html ) عملي
433
+
434
+ HTML Paragraphs
435
+
436
+ WEB PAGE: a single document on a website, usually consisting of HTML document and any items that are displayed within that document, such as inline images or style sheets.
437
+
438
+ HOME PAGE: The entry page for a website, which can link to additional pages on the same website or pages on other sites.
439
+
440
+ WEBSITE: a collection of one or more web pages linked together.
441
+
442
+ WEB BROWSER: is an application which is used to view pages and navigate the World Wide Web. Popular examples: Firefox, Internet Explorer, Safari, Chrome, and Opera.
443
+
444
+ 17
445
+
446
+ -------- Page 20 (Lecture #4-20.jpg) ---------
447
+ HTML Paragraphs الفقرات
448
+
449
+ مثال (4):
450
+
451
+ <html lang="en">
452
+ <head>
453
+ <title> HTML Paragraphs </title>
454
+ <meta charset='utf-8'>
455
+ </head>
456
+ <body>
457
+
458
+ <h1> WEB PAGE: </h1>
459
+ <p> a single document on a website, usually consisting of HTML
460
+ document and any items that are displayed within that document, such as inline
461
+ images or style sheets. </p>
462
+
463
+ <h1> HOME PAGE: </h1>
464
+ <p> The entry page for a website, which can link to additional pages
465
+ on the same website or pages on other sites. </p>
466
+
467
+ <h1> WEBSITE: </h1>
468
+ <p> a collection of one or more web pages linked together. </p>
469
+
470
+ <h1> WEB BROWSER: </h1>
471
+ <p> is an application which is used to view pages and navigate
472
+ the World Wide Web. Popular examples: Firefox, Internet Explorer, Safari,
473
+ Chrome, and Opera. </p>
474
+
475
+ </body>
476
+ </html>
477
+
478
+ 18
479
+
480
+ -------- Page 21 (Lecture #4-21.jpg) ---------
481
+ ( program#9.html ) عملي
482
+
483
+ EXPLORER
484
+ HTML LANGUAGE
485
+ program#1.html
486
+ program#2.html
487
+ program#3.html
488
+ program#4.html
489
+ program#5.html
490
+ program#6.html
491
+ program#7.html
492
+ program#8.html
493
+ program#9.html
494
+
495
+ Welcome program#9.html html body p
496
+
497
+ <html lang="en">
498
+ <head>
499
+ <title> HTML Paragraphs </title>
500
+ <meta charset='utf-8'>
501
+ </head>
502
+ <body>
503
+ <h1> WEB PAGE: </h1>
504
+ <p> a single document on a website, usually consisting of
505
+ document and any items that are displayed within that
506
+ images or style sheets. </p>
507
+
508
+ <h1> HOME PAGE: </h1>
509
+ <p> The entry page for a website, which can link to additi
510
+ on the same website or pages on other sites. </p>
511
+
512
+ <h1> WEBSITE: </h1>
513
+ <p> a collection of one or more web pages linked together. </p>
514
+
515
+ <h1> WEB BROWSER: </h1>
516
+ <p> is an application which is used to view pages and navi
517
+ the World Wide Web. Popular examples: Firefox, Interne
518
+ Chrome, and Opera. </p>
519
+ </body>
520
+
521
+ OUTLINE
522
+ TIMELINE
523
+
524
+ Ln 18, Col 29 Spaces: 4 UTF-8 CRLF HTML
525
+
526
+ 19
527
+
528
+ -------- Page 22 (Lecture #4-22.jpg) ---------
529
+ ( program#9.html ) عملي
530
+
531
+ HTML Paragraphs
532
+
533
+ WEB PAGE:
534
+ a single document on a website, usually consisting of HTML document and any items that are displayed within that document,
535
+ such as inline images or style sheets.
536
+
537
+ HOME PAGE:
538
+ The entry page for a website, which can link to additional pages on the same website or pages on other sites.
539
+
540
+ WEBSITE:
541
+ a collection of one or more web pages linked together.
542
+
543
+ WEB BROWSER:
544
+ is an application which is used to view pages and navigate the World Wide Web. Popular examples: Firefox, Internet Explorer,
545
+ Safari, Chrome, and Opera.
546
+
547
+ 20
548
+
549
+ -------- Page 23 (Lecture #4-23.jpg) ---------
550
+ HTML Paragraphs الفقرات
551
+
552
+ سمات/خصائص Attributes لتنسيق الفقرات : paragraphs
553
+ - خاصية المحاذاة Align ، خاصية العنوان Title :
554
+
555
+ <p align="center" title="هنا لمحة سريعة">
556
+ نص الفقرة
557
+ </p>
558
+
559
+ - تستخدم الخاصية align لتحديد مكان النص ( نص الفقرة ) ، وقد تم تحديده في المنتصف باستخدام القيمة center وقد تكون ( left , right , center ) .
560
+ - عند إضافة الخاصية title ستعرض قيمة الخاصية كتلميح عند تمرير المؤشر فوق الفقرة.
561
+ - الخاصية title تعمل مع عناصر أخرى كالروابط، والصور، وغيرها.
562
+
563
+ 21
564
+
565
+ -------- Page 24 (Lecture #4-24.jpg) ---------
566
+ HTML Paragraphs الفقرات
567
+
568
+ : مثال -
569
+
570
+ <html lang="en">
571
+ <head>
572
+ <title> Align & Title </title>
573
+ <meta charset='utf-8'>
574
+ </head>
575
+ <body>
576
+ <p align="center" title="WEB PAGE"> WEB PAGE: a single document on a website. </p>
577
+ </body>
578
+ </html>
579
+
580
+ 22
581
+
582
+ -------- Page 25 (Lecture #4-25.jpg) ---------
583
+ ( program#10.html ) عملي
584
+
585
+ EXPLORER
586
+
587
+ HTML LANGUAGE
588
+ program#1.html
589
+ program#2.html
590
+ program#3.html
591
+ program#4.html
592
+ program#5.html
593
+ program#6.html
594
+ program#7.html
595
+ program#8.html
596
+ program#9.html
597
+ program#10.html
598
+
599
+ OUTLINE
600
+ TIMELINE
601
+
602
+ program#10.html
603
+
604
+ program#10.html x
605
+
606
+ HTML language
607
+
608
+ <html lang="en">
609
+ <head>
610
+ <title> Align & Title </title>
611
+ <meta charset='utf-8'>
612
+ </head>
613
+ <body>
614
+ <p align="center" title="WEB PAGE"> WEB PAGE: a single doc
615
+ </body>
616
+ </html>
617
+
618
+ Ln 10, Col 1 Spaces: 4 UTF-8 CRLF HTML
619
+
620
+ 23
621
+
622
+ -------- Page 26 (Lecture #4-26.jpg) ---------
623
+ عملي ( program#10.html )
624
+
625
+ Align & Title
626
+
627
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2310.html
628
+
629
+ WEB PAGE: a single document on a website.
630
+
631
+ Align & Title
632
+
633
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2310.html
634
+
635
+ WEB PAGE: a single document on a website.
636
+
637
+ WEB PAGE
638
+
639
+ عند وضع الماوس
640
+ على الفقرة
641
+
642
+ 24
643
+
644
+ -------- Page 27 (Lecture #4-27.jpg) ---------
645
+ HTML Paragraphs الفقرات
646
+
647
+ - لكي تظهر المسافات في الفقرة يتم إستخدام الوسم <pre> ... </pre> بدلا من إستخدام الوسم <p> ... </p>
648
+ حيث أن المسافات في الفقرة بإستخدام الوسم <p> يعتبرها المتصفح مسافة واحدة فقط
649
+
650
+ 25
651
+
652
+ -------- Page 28 (Lecture #4-28.jpg) ---------
653
+ HTML Paragraphs الفقرات
654
+
655
+ مثال : يوضح كيف يتعامل الوسم <p> مع المسافات.
656
+
657
+ <html lang="en">
658
+ <head>
659
+ <title> Paragraphs </title>
660
+ <meta charset="utf-8">
661
+ </head>
662
+ <body>
663
+ <p> WEB PAGE: a single document on a website. </p>
664
+ <p> WEB PAGE:
665
+ a single
666
+ document on
667
+ a website. </p>
668
+ </body>
669
+ </html>
670
+
671
+ مسافات
672
+
673
+ 26
674
+
675
+ -------- Page 29 (Lecture #4-29.jpg) ---------
676
+ ( program#11.html ) عملي
677
+
678
+ EXPLORER
679
+
680
+ HTML LANGUAGE
681
+ program#1.html
682
+ program#2.html
683
+ program#3.html
684
+ program#4.html
685
+ program#5.html
686
+ program#6.html
687
+ program#7.html
688
+ program#8.html
689
+ program#9.html
690
+ program#10.html
691
+ program#11.html
692
+
693
+ OUTLINE
694
+ TIMELINE
695
+
696
+ program#11.html
697
+
698
+ program#11.html x
699
+
700
+ <html lang="en">
701
+ <head>
702
+ <title> Paragraphs </title>
703
+ <meta charset='utf-8'>
704
+ </head>
705
+ <body>
706
+ <p > WEB PAGE: a single document on a website. </p>
707
+ <p > WEB PAGE:
708
+ a single
709
+ document on
710
+ a website. </p>
711
+ </body>
712
+ </html>
713
+
714
+ Ln 14, Col 1 Spaces: 4 UTF-8 CRLF HTML
715
+
716
+ -------- Page 30 (Lecture #4-30.jpg) ---------
717
+ ( program#11.html ) عملي
718
+
719
+ WEB PAGE: a single document on a website.
720
+
721
+ WEB PAGE: a single document on a website.
722
+
723
+ 28
724
+
725
+ -------- Page 31 (Lecture #4-31.jpg) ---------
726
+ HTML Paragraphs الفقرات
727
+
728
+ مثال: يوضح كيف يتعامل الوسم <pre> مع المسافات.
729
+
730
+ <html lang="en">
731
+ <head>
732
+ <title> Paragraphs </title>
733
+ <meta charset='utf-8'>
734
+ </head>
735
+ <body>
736
+ <pre> WEB PAGE: a single document on a website. </pre>
737
+ <pre> WEB PAGE:
738
+ a single
739
+ document on
740
+ a website. </pre>
741
+ </body>
742
+ </html>
743
+
744
+ مسافات
745
+
746
+ 29
747
+
748
+ -------- Page 32 (Lecture #4-32.jpg) ---------
749
+ ( program#12.html ) عملي
750
+
751
+ EXPLORER
752
+ HTML LANGUAGE
753
+ program#1.html
754
+ program#2.html
755
+ program#3.html
756
+ program#4.html
757
+ program#5.html
758
+ program#6.html
759
+ program#7.html
760
+ program#8.html
761
+ program#9.html
762
+ program#10.html
763
+ program#11.html
764
+ program#12.html
765
+
766
+ program#12.html
767
+ html > head > meta
768
+
769
+ 1 <html lang="en">
770
+ 2 <head>
771
+ 3 <title> Paragraphs </title>
772
+ 4 <meta charset='utf-8'>
773
+ 5 </head>
774
+ 6 <body>
775
+ 7 <pre> WEB PAGE: a single document on a website. </pre>
776
+ 8 <pre> WEB PAGE:
777
+ 9 a single
778
+ 10 document on
779
+ 11 a website. </pre>
780
+ 12 </body>
781
+ 13 </html>
782
+
783
+ OUTLINE
784
+ TIMELINE
785
+
786
+ Ln 4, Col 30 Spaces: 4 UTF-8 CRLF HTML
787
+ 30
788
+
789
+ -------- Page 33 (Lecture #4-33.jpg) ---------
790
+ ( program#12.html ) عملي
791
+
792
+ WEB PAGE: a single document on a website.
793
+
794
+ WEB PAGE:
795
+ a single
796
+ document on
797
+ a website.
798
+
799
+ -------- Page 34 (Lecture #4-34.jpg) ---------
800
+ HTML Paragraphs الفقرات
801
+
802
+ - تعرف الفقرات بإستخدام الوسم <p> ... </p> مثل الوسم <span> ... </span> .
803
+ - الإختلاف بين وسم <span> ووسم <p> هو أن الوسم <p> هو عنصر block كل <p> تكتب في سطر، بينما الوسم <span> هو عنصر line .
804
+
805
+ 32
806
+
807
+ -------- Page 35 (Lecture #4-35.jpg) ---------
808
+ HTML Paragraphs الفقرات
809
+
810
+ مثال: يوضح كيف يعمل الوسم <p>.
811
+
812
+ <html lang="en">
813
+ <head>
814
+ <title> HTML Paragraphs </title>
815
+ <meta charset='utf-8'>
816
+ </head>
817
+ <body>
818
+ <p> WEB PAGE: a single document on a website.</p>
819
+ <p> HOME PAGE: The entry page for a website. </p>
820
+ </body>
821
+ </html>
822
+
823
+ 33
824
+
825
+ -------- Page 36 (Lecture #4-36.jpg) ---------
826
+ ( program#13.html ) عملي
827
+
828
+ EXPLORER
829
+ HTML LANGUAGE
830
+ program#1.html
831
+ program#2.html
832
+ program#3.html
833
+ program#4.html
834
+ program#5.html
835
+ program#6.html
836
+ program#7.html
837
+ program#8.html
838
+ program#9.html
839
+ program#10.html
840
+ program#11.html
841
+ program#12.html
842
+ program#13.html
843
+
844
+ program#13.html
845
+
846
+ program#13.html
847
+
848
+ <!DOCTYPE html>
849
+ <html lang="en">
850
+ <head>
851
+ <title> HTML Paragraphs </title>
852
+ <meta charset='utf-8'>
853
+ </head>
854
+ <body>
855
+ <p> WEB PAGE: a single document on a website.</p>
856
+ <p> HOME PAGE: The entry page for a website. </p>
857
+ </body>
858
+ </html>
859
+
860
+ OUTLINE
861
+ TIMELINE
862
+
863
+ Ln 11, Col 1 Spaces: 4 UTF-8 CRLF HTML
864
+
865
+ -------- Page 37 (Lecture #4-37.jpg) ---------
866
+ ( program#13.html ) عملي
867
+
868
+ HTML Paragraphs
869
+
870
+ WEB PAGE: a single document on a website.
871
+
872
+ HOME PAGE: The entry page for a website.
873
+
874
+ 35
875
+
876
+ -------- Page 38 (Lecture #4-38.jpg) ---------
877
+ HTML Paragraphs الفقرات
878
+
879
+ مثال: يوضح كيف يعمل الوسم <span>.
880
+
881
+ <html lang="en">
882
+ <head>
883
+ <title> HTML Paragraphs </title>
884
+ <meta charset='utf-8'>
885
+ </head>
886
+ <body>
887
+ <span> WEB PAGE: a single document on a website.</span>
888
+ <span> HOME PAGE: The entry page for a website. </span>
889
+ </body>
890
+ </html>
891
+
892
+ 36
893
+
894
+ -------- Page 39 (Lecture #4-39.jpg) ---------
895
+ ( program#14.html ) عملي
896
+
897
+ EXPLORER
898
+
899
+ HTML LANGUAGE
900
+ program#1.html
901
+ program#2.html
902
+ program#3.html
903
+ program#4.html
904
+ program#5.html
905
+ program#6.html
906
+ program#7.html
907
+ program#8.html
908
+ program#9.html
909
+ program#10.html
910
+ program#11.html
911
+ program#12.html
912
+ program#13.html
913
+ program#14.html
914
+
915
+ program#14.html
916
+
917
+ <html lang="en">
918
+ <head>
919
+ <title> HTML Paragraphs </title>
920
+ <meta charset='utf-8'>
921
+ </head>
922
+ <body>
923
+ <span> WEB PAGE: a single document on a website.</span>
924
+ <span> HOME PAGE: The entry page for a website. </span>
925
+ </body>
926
+ </html>
927
+
928
+ OUTLINE
929
+ TIMELINE
930
+
931
+ 37
932
+
933
+ -------- Page 40 (Lecture #4-40.jpg) ---------
934
+ ( program#14.html ) عملي
935
+
936
+ HTML Paragraphs
937
+
938
+ WEB PAGE: a single document on a website. HOME PAGE: The entry page for a website.
939
+
940
+ 38
941
+
942
+ -------- Page 41 (Lecture #4-41.jpg) ---------
943
+ Thank you
data/5.txt ADDED
@@ -0,0 +1,475 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #5-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الخامسة
11
+
12
+ أستاذة المادة
13
+ أ. وفاء حسين المصباحي
14
+
15
+ HTML5
16
+ JS
17
+ Cloud
18
+ CSS3
19
+ XML
20
+ flat
21
+ PHP
22
+ header
23
+ .com
24
+ footer
25
+ .net
26
+
27
+ 2025 ربيع
28
+
29
+ -------- Page 2 (Lecture #5-02.jpg) ---------
30
+ المحاضرة التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة الخامسة
33
+
34
+ تابع
35
+
36
+ 1. الفقرات HTML Paragraphs.
37
+
38
+ 2. عنصر الخط الأفقي Horizontal Line.
39
+
40
+ 3. التعليقات Comments.
41
+
42
+ 4. عناصر تنسيق النصوص Text Formatting.
43
+
44
+ -------- Page 3 (Lecture #5-03.jpg) ---------
45
+ HTML Paragraphs الفقرات
46
+
47
+ • وسم <br> أو <br/> : يستخدم لعمل سطر جديد line break.
48
+
49
+ - هو Single Tag.
50
+
51
+ - هو عنصر فاضي Empty element.
52
+
53
+ -------- Page 4 (Lecture #5-04.jpg) ---------
54
+ HTML Paragraphs الفقرات
55
+
56
+ مثال: يوضح كيف يعمل وسم <br> وسم <span>.
57
+
58
+ <html lang="en">
59
+ <head>
60
+ <title> Line break </title>
61
+ <meta charset='utf-8'>
62
+ </head>
63
+ <body>
64
+ <span> WEB PAGE: a single document on a website.</span>
65
+ <br>
66
+ <span> HOME PAGE: The entry page for a website. </span>
67
+ </body>
68
+ </html>
69
+
70
+ 2
71
+
72
+ -------- Page 5 (Lecture #5-05.jpg) ---------
73
+ عملي ( program#15.html )
74
+
75
+ File Edit Selection
76
+ EXPLORER
77
+
78
+ HTML LANGUAGE
79
+ program#2.html
80
+ program#3.html
81
+ program#4.html
82
+ program#5.html
83
+ program#6.html
84
+ program#7.html
85
+ program#8.html
86
+ program#9.html
87
+ program#10.html
88
+ program#11.html
89
+ program#12.html
90
+ program#13.html
91
+ program#14.html
92
+ program#15.html
93
+ program#16.html
94
+
95
+ OUTLINE
96
+ TIMELINE
97
+
98
+ program#15.html
99
+ html
100
+
101
+ <html lang="en">
102
+ <head>
103
+ <title> Line break </title>
104
+ <meta charset='utf-8'>
105
+ </head>
106
+ <body>
107
+ <span> WEB PAGE: a single document on a website. </span>
108
+ <br>
109
+ <span> HOME PAGE: The entry page for a website. </span>
110
+ </body>
111
+ </html>
112
+
113
+ Ln 11, Col 8 Spaces: 4 UTF-8 CRLF HTML
114
+
115
+ 3
116
+
117
+ -------- Page 6 (Lecture #5-06.jpg) ---------
118
+ ( program#15.html ) عملي
119
+
120
+ Line break
121
+
122
+ WEB PAGE: a single document on a website.
123
+ HOME PAGE: The entry page for a website.
124
+
125
+ 4
126
+
127
+ -------- Page 7 (Lecture #5-07.jpg) ---------
128
+ عنصر الخط الأفقي Horizontal Line
129
+
130
+ - وسم <hr> أو <hr/> : يستخدم لإنشاء الخطوط الأفقية في الصفحة.
131
+ - هو Single Tag.
132
+ - هو عنصر فاضي Empty element .
133
+
134
+ 5
135
+
136
+ -------- Page 8 (Lecture #5-08.jpg) ---------
137
+ Horizontal Line عنصر الخط الأفقي
138
+
139
+ مثال : يوضح كيف يعمل وسم <hr> .
140
+
141
+ <html lang="en">
142
+ <head>
143
+ <title> Horizontal Line </title>
144
+ <meta charset='utf-8'>
145
+ </head>
146
+ <body>
147
+ <h1> WEB PAGE: </h1>
148
+ <p> a single document on a website, usually consisting of HTML
149
+ document and any items that are displayed within that document, such as inline
150
+ images or style sheets. </p>
151
+
152
+ <hr>
153
+ <h1> HOME PAGE: </h1>
154
+ <p> The entry page for a website, which can link to additional pages
155
+ on the same website or pages on other sites. </p>
156
+
157
+ <hr>
158
+ <h1> WEBSITE: </h1>
159
+ <p> a collection of one or more web pages linked together. </p>
160
+ </body>
161
+ </html>
162
+
163
+ 6
164
+
165
+ -------- Page 9 (Lecture #5-09.jpg) ---------
166
+ عملي ( program#16.html )
167
+
168
+ EXPLORER
169
+ HTML LANGUAGE
170
+ program#2.html
171
+ program#3.html
172
+ program#4.html
173
+ program#5.html
174
+ program#6.html
175
+ program#7.html
176
+ program#8.html
177
+ program#9.html
178
+ program#10.html
179
+ program#11.html
180
+ program#12.html
181
+ program#13.html
182
+ program#14.html
183
+ program#15.html
184
+ program#16.html
185
+
186
+ program#16.html html body
187
+ <html lang="en">
188
+ <head>
189
+ <title> Horizontal Line </title>
190
+ <meta charset='utf-8'>
191
+ </head>
192
+ <body>
193
+ <h1> WEB PAGE: </h1>
194
+ <p> a single document on a website, usually consisting of
195
+ document and any items that are displayed within that
196
+ images or style sheets. </p>
197
+ <hr>
198
+ <h1> HOME PAGE: </h1>
199
+ <p> The entry page for a website, which can link to additi
200
+ on the same website or pages on other sites. </p>
201
+ <hr>
202
+ <h1> WEBSITE: </h1>
203
+ <p> a collection of one or more web pages linked together.
204
+ </body>
205
+ </html>
206
+
207
+ OUTLINE
208
+ TIMELINE
209
+
210
+ Ln 6, Col 11 Spaces: 4 UTF-8 CRLF HTML
211
+
212
+ -------- Page 10 (Lecture #5-10.jpg) ---------
213
+ ( program#16.html ) عملي
214
+
215
+ Horizontal Line
216
+
217
+ WEB PAGE:
218
+
219
+ a single document on a website, usually consisting of HTML document and any items that are displayed within that document,
220
+ such as inline images or style sheets.
221
+
222
+ HOME PAGE:
223
+
224
+ The entry page for a website, which can link to additional pages on the same website or pages on other sites.
225
+
226
+ WEBSITE:
227
+
228
+ a collection of one or more web pages linked together.
229
+
230
+ -------- Page 11 (Lecture #5-11.jpg) ---------
231
+ التعليقات Comments
232
+
233
+ - اعتاد المبرمجون في لغات البرمجة التقليدية على كتابة أسطر توضيحية لا تعالج إذ أنها لا تعتبر جزءاً من الشيفرة، وإنما تستخدم فقط لتذكير المبرمج بأجزاء الشيفرة عندما يعود لتعديلها بعد فترة من الزمن، وهذه الأسطر تعرف بالتعليقات Comments ، ومع أن HTML لغة وصفية إلا أنها توفر آلية لكتابة التعليقات ضمن المستندات، فتقدم الصيغة العامة التالية لكتابة التعليق :
234
+
235
+ <!-- comment -->
236
+
237
+ -------- Page 12 (Lecture #5-12.jpg) ---------
238
+ Comments التعليقات
239
+
240
+ : مثال -
241
+
242
+ <html lang="en">
243
+ <head>
244
+ <title> Comment </title>
245
+ <meta charset='utf-8'>
246
+ </head>
247
+ <body>
248
+ <!-- paragraph -->
249
+ <br/>
250
+ <h3> WEB PAGE: </h3>
251
+ <p> a single document on a website, usually consisting of HTML
252
+ document and any items that are displayed within that document, such as inline
253
+ images or style sheets. </p>
254
+ </body>
255
+ </html>
256
+
257
+ 10
258
+
259
+ -------- Page 13 (Lecture #5-13.jpg) ---------
260
+ ( program#17.html ) عملي
261
+
262
+ EXPLORER
263
+ HTML LANGUAGE
264
+ program#3.html
265
+ program#4.html
266
+ program#5.html
267
+ program#6.html
268
+ program#7.html
269
+ program#8.html
270
+ program#9.html
271
+ program#10.html
272
+ program#11.html
273
+ program#12.html
274
+ program#13.html
275
+ program#14.html
276
+ program#15.html
277
+ program#16.html
278
+ program#17.html
279
+
280
+ program#17.html
281
+
282
+ program#17.html > html > body > p
283
+
284
+ <html lang="en">
285
+ <head>
286
+ <title> Comment </title>
287
+ <meta charset='utf-8'>
288
+ </head>
289
+ <body>
290
+ <!-- paragraph -->
291
+ <br/>
292
+ <h3> WEB PAGE: </h3>
293
+ <p> a single document on a website, usually consisting o
294
+ document and any items that are displayed within th
295
+ images or style sheets. </p>
296
+ </body>
297
+ </html>
298
+
299
+ OUTLINE
300
+ TIMELINE
301
+
302
+ Ln 11, Col 14 Spaces: 4 UTF-8 CRLF HTML
303
+
304
+ -------- Page 14 (Lecture #5-14.jpg) ---------
305
+ ( program#17.html ) عملي
306
+
307
+ WEB PAGE:
308
+
309
+ a single document on a website, usually consisting of HTML document and any items that are displayed within that document,
310
+ such as inline images or style sheets.
311
+
312
+ -------- Page 15 (Lecture #5-15.jpg) ---------
313
+ عناصر تنسيق النصوص Text Formatting
314
+
315
+ - توفر لغة HTML مجموعة من العناصر لتنسيق النصوص:
316
+
317
+ Tag Effect
318
+ <strong> أو <b> bold لجعل النص عريضاً
319
+ <small> لجعل النص أصغر حجماً
320
+ <i> أو <em> لجعل النص مائلاً italic
321
+ <mark> تظليل النص باللون الأصفر
322
+ <u> أو <ins> لوضع خط أسفل النص
323
+ <s> أو <del> شطب النص Delete
324
+ <sup> لكتابة الكلمة أعلى السطر superscript
325
+ <sub> لكتابة الكلمة أسفل السطر subscript
326
+
327
+ - كل عناصر formatting هي عناصر inline.
328
+
329
+ 13
330
+
331
+ -------- Page 16 (Lecture #5-16.jpg) ---------
332
+ عناصر تنسيق النصوص Text Formatting
333
+
334
+ - مثال : يوضح عمل عناصر تنسيق النصوص Text Formatting.
335
+
336
+ <html lang="en">
337
+ <head>
338
+ <title> Text Formatting </title>
339
+ <meta charset='utf-8'>
340
+ </head>
341
+ <body>
342
+ <!-- Text formatting -->
343
+
344
+ <br/>
345
+ <h3> WEB PAGE: </h3>
346
+ <p> a single document on <b>a website</b>. </p>
347
+ <p> a single document on <small>a website</small>. </p>
348
+ <p> a single document on <mark>a website</mark>. </p>
349
+ <p> a single document on <i>a website</i>. </p>
350
+ <p> a single document on <u>a website</u>. </p>
351
+ <p> a single document on <s>a website</s>. </p>
352
+ <p> a single document on <sup>a website</sup>. </p>
353
+ <p> a single document on <sub>a website</sub>. </p>
354
+ </body>
355
+ </html>
356
+
357
+ 14
358
+
359
+ -------- Page 17 (Lecture #5-17.jpg) ---------
360
+ عملي ( program#18.html )
361
+
362
+ EXPLORER
363
+ HTML LANGUAGE
364
+ program#4.html
365
+ program#5.html
366
+ program#6.html
367
+ program#7.html
368
+ program#8.html
369
+ program#9.html
370
+ program#10.html
371
+ program#11.html
372
+ program#12.html
373
+ program#13.html
374
+ program#14.html
375
+ program#15.html
376
+ program#16.html
377
+ program#17.html
378
+ program#18.html
379
+
380
+ OUTLINE
381
+ TIMELINE
382
+
383
+ program#18.html
384
+ HTML language
385
+
386
+ <html lang="en">
387
+ <head>
388
+ <title> Text Formatting </title>
389
+ <meta charset='utf-8'>
390
+ </head>
391
+ <body>
392
+ <!-- Text formatting -->
393
+ <br/>
394
+ <h3> WEB PAGE: </h3>
395
+ <p> a single document on <b>a website</b>. </p>
396
+ <p> a single document on <small>a website</small>. </p>
397
+ <p> a single document on <mark>a website</mark>. </p>
398
+ <p> a single document on <i>a website</i>. </p>
399
+ <p> a single document on <u>a website</u>. </p>
400
+ <p> a single document on <s>a website</s>. </p>
401
+ <p> a single document on <sup>a website</sup>. </p>
402
+ <p> a single document on <sub>a website</sub>. </p>
403
+ </body>
404
+ </html>
405
+
406
+ Ln 16, Col 17 Spaces: 4 UTF-8 CRLF HTML
407
+
408
+ 15
409
+
410
+ -------- Page 18 (Lecture #5-18.jpg) ---------
411
+ ( program#18.html ) عملي
412
+
413
+ WEB PAGE:
414
+
415
+ a single document on a website.
416
+
417
+ a single document on a website.
418
+
419
+ a single document on a website.
420
+
421
+ a single document on a website.
422
+
423
+ a single document on a website.
424
+
425
+ a single document on a website.
426
+
427
+ a single document on a website.
428
+
429
+ a single document on a website.
430
+
431
+ -------- Page 19 (Lecture #5-19.jpg) ---------
432
+ Text Formatting عناصر تنسيق النصوص
433
+
434
+ الإختلاف بين tags :
435
+
436
+ <i>
437
+ Italic text
438
+ لمجرد الشكل
439
+
440
+ <em>
441
+ Emphasize text
442
+ – حكمة
443
+ – الجمل المقتبسة
444
+ – عبارة من لغة مختلفة
445
+
446
+ <b>
447
+ Bold text
448
+ لمجرد الشكل
449
+
450
+ <strong>
451
+ Important text
452
+ للعِبارات المهمة
453
+
454
+ <sub>
455
+ Subscript text
456
+ تستخدم في الرموز الكيميائية
457
+
458
+ <sup>
459
+ Superscript text
460
+ تستخدم في المعادلات الرياضية لتمثيل الأُس
461
+
462
+ <u>
463
+ Misspelled word
464
+ لمجرد الشكل
465
+ أو لتحديد أن الكلمة بها خطأ
466
+
467
+ <ins>
468
+ inserted text
469
+ لإدخال نص جديد
470
+ (كلام مضاف)
471
+
472
+ 17
473
+
474
+ -------- Page 20 (Lecture #5-20.jpg) ---------
475
+ Thank you
data/6.txt ADDED
@@ -0,0 +1,1249 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #6-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة السادسة
11
+
12
+ أستاذة المادة
13
+ أ. وفاء حسين المصباحي
14
+
15
+ HTML5
16
+ JS
17
+ Cloud
18
+ CSS3
19
+ XML
20
+ flat
21
+ PHP
22
+ header
23
+ .com
24
+ footer
25
+ .net
26
+
27
+ 2025 ربيع
28
+
29
+ -------- Page 2 (Lecture #6-02.jpg) ---------
30
+ المواضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Programming
32
+ المحاضرة السادسة
33
+
34
+ . المحارف والرموز الخاصة Special Characters
35
+ 1
36
+
37
+ . عناصر الروابط Hyper Links
38
+
39
+ . الروابط الداخلية Internal Linking
40
+
41
+ . عناصر الصور Images
42
+
43
+ . القوائم Lists
44
+
45
+ -------- Page 3 (Lecture #6-03.jpg) ---------
46
+ Special Characters المحارف والرموز الخاصة
47
+
48
+ - هناك بعض المحارف والرموز التي لا يمكن عرضها في الصفحة عن طريق كتابتها بشكل مباشر مثل: الرموز المستخدمة في الرياضيات ومحارف الغرّافات وغيرها.
49
+
50
+ - توفر لغة HTML آلية خاصة لعرض هذه الرموز وذلك باتباع الصيغة التالية:
51
+ &value;
52
+
53
+ باستبدال القيمة value بقيمة المحرف المطلوب أن يتم عرضه في مستعرض الويب وفي الجدول التالي نماذج من هذه المحارف:
54
+
55
+ HTML: شيفرة
56
+ الرمز
57
+ &lt; <
58
+ &gt; >
59
+ &ne; ≠
60
+ &trade; ™
61
+ &copy; ©
62
+ &nbsp; محرف الفراغ
63
+
64
+ 1
65
+
66
+ -------- Page 4 (Lecture #6-04.jpg) ---------
67
+ Special Characters المحارف والرموز الخاصة
68
+
69
+ : مثال -
70
+
71
+ <html lang="en">
72
+ <head>
73
+ <title> Special Characters </title>
74
+ <meta charset='utf-8'>
75
+ </head>
76
+ <body>
77
+ <p>
78
+ 3 &lt; 5 and 10 &gt; 2 and also 3 &ne; 4 ....
79
+ all rights reserved for &copy; Mukhtar &trade;
80
+ </p>
81
+ </body>
82
+ </html>
83
+
84
+ 2
85
+
86
+ -------- Page 5 (Lecture #6-05.jpg) ---------
87
+ ( program#19.html ) عملي
88
+
89
+ EXPLORER
90
+
91
+ HTML LANGUAGE
92
+ program#5.html
93
+ program#6.html
94
+ program#7.html
95
+ program#8.html
96
+ program#9.html
97
+ program#10.html
98
+ program#11.html
99
+ program#12.html
100
+ program#13.html
101
+ program#14.html
102
+ program#15.html
103
+ program#16.html
104
+ program#17.html
105
+ program#18.html
106
+ program#19.html
107
+
108
+ program#19.html
109
+
110
+ <html lang="en">
111
+ <head>
112
+ <title> Special Characters </title>
113
+ <meta charset='utf-8'>
114
+ </head>
115
+ <body>
116
+ <p>
117
+ 3 &lt; 5 and 10 &gt; 2 and also 3 &ne; 4 ….
118
+ all rights reserved for &copy; Mukhtar &trade;
119
+ </p>
120
+ </body>
121
+ </html>
122
+
123
+ HTML language
124
+
125
+ Ln 13, Col 1 Spaces: 4 UTF-8 CRLF HTML
126
+
127
+ OUTLINE
128
+ TIMELINE
129
+
130
+ -------- Page 6 (Lecture #6-06.jpg) ---------
131
+ ( program#19.html ) عملي
132
+
133
+ Special Characters
134
+
135
+ 3 < 5 and 10 > 2 and also 3 ≠ 4 …. all rights reserved for © Mukhtar ™
136
+
137
+ -------- Page 7 (Lecture #6-07.jpg) ---------
138
+ عناصر الروابط Hyper Links
139
+
140
+ - توفر لغة HTML آلية للإنتقال بين الصفحات المختلفة عبر عناصر الروابط Hyper Links.
141
+ - الروابط عبارة عن نصوص أو صور تنتقل عند النقر عليها من الصفحة الحالية إلى صفحة ويب أخرى.
142
+ - تقوم مستعرضات الويب بتمييز الروابط بعرض "يد صغيرة" كمؤشر للفأرة عند الإشارة إلى أحد الروابط.
143
+ - يتم إنشاء الروابط بواسطة الوسم <a> ، والـ a هذه إختصار لـ Anchor.
144
+ - يتم تزويد عنصر الرابط بنص يعرض كمحتوى له أما الموقع الهدف ( الذي سيتم الإنتقال إليه عند النقر على الرابط) فيتم تزويده بالخاصية href والتي هي إختصار لـ Hyper Reference.
145
+
146
+ <a href="URL الرابط"> النص </a>
147
+
148
+ -------- Page 8 (Lecture #6-08.jpg) ---------
149
+ عناصر الروابط Hyper Links
150
+
151
+ سمات/خصائص Attributes لعناصر الروابط Hyper Links :
152
+
153
+ - خاصية target : تحدد مكان عرض الصفحة ، ويحدد مكان عرض الصفحة حسب قيمة هذه الخاصية إلى :
154
+
155
+ ▪ القيمة _self : عرض الصفحة الهدف في نفس الصفحة الحالية.
156
+
157
+ ▪ القيمة _blank : عرض الصفحة الهدف في نافذة مستعرض جديدة.
158
+
159
+ 6
160
+
161
+ -------- Page 9 (Lecture #6-09.jpg) ---------
162
+ Hyper Links عناصر الروابط
163
+
164
+ : مثال -
165
+
166
+ <html lang="en">
167
+ <head>
168
+ <title> Hyper Links </title>
169
+ <meta charset='utf-8'>
170
+ </head>
171
+ <body>
172
+ <a href=“http://www.Microsoft.com” > Microsoft </a>
173
+ <br/>
174
+ <a href=“http://www.google.com” target=“_blank”> Google </a>
175
+ <br/>
176
+ <a href=“program#1.html” target=“_self”> program#1 </a>
177
+ </body>
178
+ </html>
179
+
180
+ 7
181
+
182
+ -------- Page 10 (Lecture #6-10.jpg) ---------
183
+ ( program#20.html ) عملي
184
+
185
+ EXPLORER
186
+
187
+ HTML LANGUAGE
188
+ program#6.html
189
+ program#7.html
190
+ program#8.html
191
+ program#9.html
192
+ program#10.html
193
+ program#11.html
194
+ program#12.html
195
+ program#13.html
196
+ program#14.html
197
+ program#15.html
198
+ program#16.html
199
+ program#17.html
200
+ program#18.html
201
+ program#19.html
202
+ program#20.html
203
+
204
+ OUTLINE
205
+ TIMELINE
206
+
207
+ program#20.html
208
+
209
+ program#20.html
210
+
211
+ <html lang="en">
212
+ <head>
213
+ <title> Hyper Links </title>
214
+ <meta charset='utf-8'>
215
+ </head>
216
+ <body>
217
+ <a href="http://www.Microsoft.com" > Microsoft </a>
218
+ <br/>
219
+ <a href="http://www.google.com" target="_blank"> Google
220
+ <br/>
221
+ <a href="program#1.html" target="_self"> program#1 </a>
222
+ </body>
223
+ </html>
224
+
225
+ Ln 14, Col 1 Spaces: 4 UTF-8 CRLF HTML
226
+
227
+ 8
228
+
229
+ -------- Page 11 (Lecture #6-11.jpg) ---------
230
+ ( program#20.html ) عملي
231
+
232
+
233
+ Hyper Links
234
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2320.html
235
+
236
+ Microsoft
237
+ Google
238
+ program#
239
+
240
+
241
+ Microsoft - التطبيقات الكل
242
+
243
+ Microsoft
244
+
245
+
246
+ Hyper Links
247
+ Google
248
+
249
+ www.google.com
250
+ تسجيل الدخول
251
+ صور
252
+ Gmail
253
+
254
+ Google
255
+
256
+ بحث
257
+ ضربة حظ
258
+
259
+ English Italiano Google متوفر باللغة:
260
+ محرك بحث Google
261
+
262
+ ليبيا
263
+
264
+ حول
265
+ الإعلانات
266
+ الأعمال
267
+ الخصوصية
268
+ الأحكام
269
+ آلية عمل "Google بحث"
270
+ كيف تعمل
271
+ إعدادات
272
+
273
+ 9
274
+
275
+ -------- Page 12 (Lecture #6-12.jpg) ---------
276
+ Internal Linking الروابط الداخلية
277
+
278
+ - أحياناً يكون المحتوى الموجود ضمن صفحة معينة كبيراً إلى حد ما وفي حالة مثل هذه يصبح الإنتقال إلى فقرة
279
+ محددة ضمن الصفحة عملية تستغرق بعض الجهد والوقت.
280
+
281
+ - توفر لغة HTML آلية للإنتقال إلى جزء محدد من الصفحة مباشرة عبر ما يعرف بالروابط الداخلية Internal Links
282
+ والتي يتم تحقيقها عبر استخدام وسم الرابط a> وتمرير معرف العنصر identifier المراد الإنتقال إليه كقيمة
283
+ لخاصية href بالشكل التالي:
284
+
285
+ </a> إنتقل إلى العنصر ذو المعرف id <a href="#id">
286
+
287
+ حيث id هو معرف العنصر المراد الإنتقال إليه ضمن الصفحة.
288
+
289
+ 10
290
+
291
+ -------- Page 13 (Lecture #6-13.jpg) ---------
292
+ Internal Linking الروابط الداخلية
293
+
294
+ مثال :
295
+
296
+ <html lang="en">
297
+ <head>
298
+ <title> HTML Paragraphs </title>
299
+ <meta charset='utf-8'>
300
+ </head>
301
+ <body>
302
+ <a href="#para4"> WEB BROWSER </a>
303
+ <h1> WEB PAGE: </h1>
304
+ <p> a single document on a website, usually consisting of HTML
305
+ document and any items that are displayed within that document, such as inline
306
+ images or style sheets. </p>
307
+ <h1> HOME PAGE: </h1>
308
+ <p> The entry page for a website, which can link to additional pages
309
+ on the same website or pages on other sites. </p>
310
+ <h1> WEBSITE: </h1>
311
+ <p> a collection of one or more web pages linked together. </p>
312
+ <h1 id="#para4"> WEB BROWSER: </h1>
313
+ <p> is an application which is used to view pages and navigate
314
+ the World Wide Web. Popular examples: Firefox, Internet Explorer, Safari,
315
+ Chrome, and Opera. </p>
316
+ </body>
317
+ </html>
318
+
319
+ 11
320
+
321
+ -------- Page 14 (Lecture #6-14.jpg) ---------
322
+ ( program#31.html ) عملي
323
+
324
+ EXPLORER
325
+ HTML LANGUAGE
326
+ program#17.html
327
+ program#18.html
328
+ program#19.html
329
+ program#20.html
330
+ program#21.html
331
+ program#22.html
332
+ program#23.html
333
+ program#24.html
334
+ program#25.html
335
+ program#26.html
336
+ program#27.html
337
+ program#28.html
338
+ program#29.html
339
+ program#30.html
340
+ program#31.html
341
+
342
+ program#31.html x
343
+ program#31.html > html > body > p
344
+
345
+ 1 <html lang="en">
346
+ 2 <head>
347
+ 3 <title> HTML Paragraphs </title>
348
+ 4 <meta charset='utf-8'>
349
+ 5 </head>
350
+ 6 <body>
351
+ 7 <a href="#para4" > WEB BROWSER </a>
352
+ 8 <h1> WEB PAGE: </h1>
353
+ 9 <p> a single document on a website, usually consisting of
354
+ 10 document and any items that are displayed within that
355
+ 11 images or style sheets. </p>
356
+ 12 <h1> HOME PAGE: </h1>
357
+ 13 <p> The entry page for a website, which can link to additi
358
+ 14 on the same website or pages on other sites. </p>
359
+ 15 <h1> WEBSITE: </h1>
360
+ 16 <p> a collection of one or more web pages linked together.
361
+ 17 <h1 id="#para4" > WEB BROWSER: </h1>
362
+ 18 <p> is an application which is used to view pages and navi
363
+ 19 in the World Wide Web. Popular examples: Firefox, Inter
364
+ 20 Chrome, and Opera. </p>
365
+
366
+ OUTLINE
367
+ TIMELINE
368
+
369
+ Ln 20, Col 24 Spaces: 4 UTF-8 CRLF HTML
370
+
371
+ -------- Page 15 (Lecture #6-15.jpg) ---------
372
+ ( program#31.html ) عملي
373
+
374
+ WEB BROWSER
375
+
376
+ WEB PAGE:
377
+ a single document on a website, usually consisting of HTML document and any items that are displayed within that
378
+ document, such as inline images or style sheets.
379
+
380
+ HOME PAGE:
381
+ The entry page for a website, which can link to additional pages on the same website or pages on other sites.
382
+
383
+ WEBSITE:
384
+ a collection of one or more web pages linked together.
385
+
386
+ WEB BROWSER:
387
+ is an application which is used to view pages and navigate the World Wide Web. Popular examples: Firefox, Internet
388
+ Explorer, Safari, Chrome, and Opera.
389
+
390
+ 13
391
+
392
+ -------- Page 16 (Lecture #6-16.jpg) ---------
393
+ Images عناصر الصور
394
+
395
+ • وسم <img> أو <img/> : يستخدم لعرض الصور ضمن الصفحة اعتمادا على مسارها الذي يمرر للعنصر عبر الخاصية src ( اختصارا لـ Source )، الشكل العام:
396
+
397
+ <img src="path"/>
398
+
399
+ – هو Single Tag.
400
+
401
+ – هو عنصر inline.
402
+
403
+ – هو عنصر فاض Empty element.
404
+
405
+ -------- Page 17 (Lecture #6-17.jpg) ---------
406
+ عناصر الصور Images
407
+
408
+ سمات/خصائص Attributes لعناصر الصور Images :
409
+
410
+ - خاصية alt : تحدد مكان عرض الصفحة ، ويحدد مكان عرض الصفحة حسب قيمة هذه الخاصية، الإستنداد إليها قيمة نصية يتم عرضها في حال تعذر الوصول إلى الصورة المذكورة في الواصفة src.
411
+
412
+ - خاصية width وخاصية height : عرض الصورة بمقياس محدد.
413
+
414
+ - خاصية border : لإضافة إطار للصورة.
415
+
416
+ - خاصية title : وهي خاصية عامة global attribute يمكن وضعها مع العديد من الوسوم tags ، وهي تظهر نص عندما نضع مؤشر الماوس على الصورة.
417
+
418
+ 15
419
+
420
+ -------- Page 18 (Lecture #6-18.jpg) ---------
421
+ Images عناصر الصور
422
+
423
+ مثال (1) :
424
+
425
+ <html lang="en">
426
+ <head>
427
+ <title> Images </title>
428
+ <meta charset='utf-8'>
429
+ </head>
430
+ <body>
431
+ <img src="myPic.jpg"/>
432
+ </body>
433
+ </html>
434
+
435
+ 16
436
+
437
+ -------- Page 19 (Lecture #6-19.jpg) ---------
438
+ ( program#21.html ) عملي
439
+
440
+ EXPLORER
441
+
442
+ HTML LANGUAGE
443
+
444
+ program#9.html
445
+ program#10.html
446
+ program#11.html
447
+ program#12.html
448
+ program#13.html
449
+ program#14.html
450
+ program#15.html
451
+ program#16.html
452
+ program#17.html
453
+ program#18.html
454
+ program#19.html
455
+ program#20.html
456
+ program#21.html
457
+ program#22.html
458
+ Unconfirmed 78443.crdownload
459
+
460
+ program#21.html
461
+
462
+ program#21.html
463
+
464
+ <html lang="en">
465
+ <head>
466
+ <title> Images </title>
467
+ <meta charset='utf-8'>
468
+ </head>
469
+ <body>
470
+ <img src="myPic.jpg"/>
471
+ </body>
472
+ </html>
473
+
474
+ OUTLINE
475
+ TIMELINE
476
+
477
+ Ln 10, Col 1 Spaces: 4 UTF-8 CRLF HTML
478
+
479
+ -------- Page 20 (Lecture #6-20.jpg) ---------
480
+ ( program#21.html ) عملي
481
+
482
+ Images
483
+
484
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2321.html
485
+
486
+ Widgets
487
+
488
+ 18
489
+
490
+ -------- Page 21 (Lecture #6-21.jpg) ---------
491
+ عناصر الصور Images
492
+
493
+ مثال: (2)
494
+
495
+ <html lang="en">
496
+ <head>
497
+ <title> Images </title>
498
+ <meta charset='utf-8'>
499
+ </head>
500
+ <body>
501
+ <img src="myPic2.jpg" alt="Picture 2" title="my picture" />
502
+ <img src="myPic2.jpg" alt="Picture 2" width="100px" height="50px" border="5" />
503
+ <img src="myPic.jpg" alt="Picture 3" width="100px" height="50px"/>
504
+ <img src="صورة المسار الخاطى" alt="مسار خاطى"/>
505
+ </body>
506
+ </html>
507
+
508
+ 19
509
+
510
+ -------- Page 22 (Lecture #6-22.jpg) ---------
511
+ ( program#22.html ) عملي
512
+
513
+ EXPLORER
514
+
515
+ HTML LANGUAGE
516
+ program#14.html
517
+ program#15.html
518
+ program#16.html
519
+ program#17.html
520
+ program#18.html
521
+ program#19.html
522
+ program#20.html
523
+ program#21.html
524
+ program#22.html
525
+ program#23.html
526
+ program#24.html
527
+ program#25.html
528
+ program#26.html
529
+ program#27.html
530
+ program#28.html
531
+
532
+ OUTLINE
533
+ TIMELINE
534
+
535
+ program#22.html
536
+
537
+ program#22.html >
538
+ 1 <html lang="en">
539
+ 2 <head>
540
+ 3 <title> Images </title>
541
+ 4 <meta charset='utf-8'>
542
+ 5 </head>
543
+ 6 <body>
544
+ 7 <img src="myPic2.jpg" alt="Picture 2" title="my picture"/>
545
+ 8 <img src="myPic2.jpg" alt="Picture 2"
546
+ 9 width="100px" height="50px" border="5"/>
547
+ 10 <img src="myPic.jpg" alt="Picture 3" width="100px" height=
548
+ 11 <img src= alt=" صورة المسار الخاطئ "/>
549
+ 12 </body>
550
+ 13 </html>
551
+
552
+ Ln 14, Col 1 Spaces: 4 UTF-8 CRLF HTML
553
+
554
+ 20
555
+
556
+ -------- Page 23 (Lecture #6-23.jpg) ---------
557
+ عملي ( program#22.html )
558
+
559
+ Images
560
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2322.html
561
+
562
+ my picture
563
+
564
+ © Amine Mouelhi
565
+
566
+ صور لمسلسل الخلافلي؟
567
+ 21
568
+
569
+ -------- Page 24 (Lecture #6-24.jpg) ---------
570
+ Images عناصر الصور
571
+
572
+ مثال (3) : الصورة بدلا من نصوص الروابط : ويتم ذلك بتضمين العنصر <img/> كمحتوى للعنصر <a> :
573
+
574
+ <html lang="en">
575
+ <head>
576
+ <title> Images </title>
577
+ <meta charset='utf-8'>
578
+ </head>
579
+ <body>
580
+ <a href="http://www.google.com"> <img src="myPic3.png" alt="Picture 3"
581
+ width="100px" height="50px"/> </a>
582
+ </body>
583
+ </html>
584
+
585
+ 22
586
+
587
+ -------- Page 25 (Lecture #6-25.jpg) ---------
588
+ ( program#23.html ) عملي
589
+
590
+ EXPLORER
591
+ HTML LANGUAGE
592
+ program#9.html
593
+ program#10.html
594
+ program#11.html
595
+ program#12.html
596
+ program#13.html
597
+ program#14.html
598
+ program#15.html
599
+ program#16.html
600
+ program#17.html
601
+ program#18.html
602
+ program#19.html
603
+ program#20.html
604
+ program#21.html
605
+ program#23.html
606
+
607
+ OUTLINE
608
+ TIMELINE
609
+
610
+ program#23.html x
611
+ program#23.html >
612
+
613
+ <!html lang="en">
614
+ <head>
615
+ <title> Images </title>
616
+ <meta charset='utf-8'>
617
+ </head>
618
+ <body>
619
+ <a href="http://www.google.com"> <img src="myPic3.png" alt=""
620
+ width="100px" height="50px"/> </a>
621
+ </body>
622
+ </html>
623
+
624
+ HTML language
625
+
626
+ Ln 11, Col 1 Spaces: 4 UTF-8 CRLF HTML
627
+
628
+ 23
629
+ 0 Δ 0
630
+
631
+ -------- Page 26 (Lecture #6-26.jpg) ---------
632
+ [ERROR: Failed to upload image]
633
+
634
+ -------- Page 27 (Lecture #6-27.jpg) ---------
635
+ [ERROR: Failed to upload image]
636
+
637
+ -------- Page 28 (Lecture #6-28.jpg) ---------
638
+ القوائم Lists
639
+
640
+ مثال (1): القوائم الغير مرتبة Unordered List نستخدم الوسم <ul> :
641
+
642
+ <html lang="en">
643
+ <head>
644
+ <title> Lists </title>
645
+ <meta charset='utf-8'>
646
+ </head>
647
+ <body>
648
+ <ul>
649
+ <li>HTML</li>
650
+ <li>HTML5</li>
651
+ <li>XHTML</li>
652
+ <li>CSS</li>
653
+ <li>CSS3</li>
654
+ </ul>
655
+ </body>
656
+ </html>
657
+
658
+ 26
659
+
660
+ -------- Page 29 (Lecture #6-29.jpg) ---------
661
+ عملي ( program#24.html )
662
+
663
+ EXPLORER
664
+ HTML LANGUAGE
665
+ program#10.html
666
+ program#11.html
667
+ program#12.html
668
+ program#13.html
669
+ program#14.html
670
+ program#15.html
671
+ program#16.html
672
+ program#17.html
673
+ program#18.html
674
+ program#19.html
675
+ program#20.html
676
+ program#21.html
677
+ program#22.html
678
+ program#23.html
679
+ program#24.html
680
+
681
+ program#24.html x
682
+
683
+ program#24.html > html > head > meta
684
+
685
+ 1 <html lang="en">
686
+ 2 <head>
687
+ 3 <title> Lists </title>
688
+ 4 <meta charset='utf-8'>
689
+ 5 </head>
690
+ 6 <body>
691
+ 7 <ul>
692
+ 8 <li>HTML</li>
693
+ 9 <li>HTML5</li>
694
+ 10 <li>XHTML</li>
695
+ 11 <li>CSS</li>
696
+ 12 <li>CSS3</li>
697
+ 13 </ul>
698
+ 14 </body>
699
+ 15 </html>
700
+
701
+ OUTLINE
702
+ TIMELINE
703
+
704
+ 0 0 0
705
+
706
+ Ln 4, Col 31 Spaces: 4 UTF-8 CRLF HTML
707
+
708
+ -------- Page 30 (Lecture #6-30.jpg) ---------
709
+ ( program#24.html ) عملي
710
+
711
+ Lists
712
+
713
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2324.h
714
+
715
+ • HTML
716
+ • HTML5
717
+ • XHTML
718
+ • CSS
719
+ • CSS3
720
+
721
+ 28
722
+
723
+ -------- Page 31 (Lecture #6-31.jpg) ---------
724
+ القوائم Lists
725
+
726
+ مثال: (2) القوائم المرتبة ordered List نستخدم الوسم: <ol>
727
+
728
+ <html lang="en">
729
+ <head>
730
+ <title> Lists </title>
731
+ <meta charset='utf-8'>
732
+ </head>
733
+ <body>
734
+ <ol>
735
+ <li>HTML</li>
736
+ <li>HTML5</li>
737
+ <li>XHTML</li>
738
+ <li>CSS</li>
739
+ <li>CSS3</li>
740
+ </ol>
741
+ </body>
742
+ </html>
743
+
744
+ 29
745
+
746
+ -------- Page 32 (Lecture #6-32.jpg) ---------
747
+ ( program#25.html ) عملي
748
+
749
+ EXPLORER
750
+
751
+ HTML LANGUAGE
752
+ program#11.html
753
+ program#12.html
754
+ program#13.html
755
+ program#14.html
756
+ program#15.html
757
+ program#16.html
758
+ program#17.html
759
+ program#18.html
760
+ program#19.html
761
+ program#20.html
762
+ program#21.html
763
+ program#22.html
764
+ program#23.html
765
+ program#24.html
766
+ program#25.html
767
+
768
+ program#25.html
769
+
770
+ program#25.html > html > body > ol
771
+
772
+ HTML language
773
+
774
+ <html lang="en">
775
+ <head>
776
+ <title> Lists </title>
777
+ <meta charset='utf-8'>
778
+ </head>
779
+ <body>
780
+ <ol>
781
+ <li>HTML</li>
782
+ <li>HTML5</li>
783
+ <li>XHTML</li>
784
+ <li>CSS</li>
785
+ <li>CSS3</li>
786
+ </ol>
787
+ </body>
788
+ </html>
789
+
790
+ OUTLINE
791
+ TIMELINE
792
+
793
+ Ln 11, Col 16 Spaces: 4 UTF-8 CRLF HTML
794
+ 0 ⚠️ 0 ⓘ 0
795
+
796
+ -------- Page 33 (Lecture #6-33.jpg) ---------
797
+ عملي ( program#25.html )
798
+
799
+ Lists
800
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2325.h
801
+
802
+ 1. HTML
803
+ 2. HTML5
804
+ 3. XHTML
805
+ 4. CSS
806
+ 5. CSS3
807
+
808
+ 31
809
+
810
+ -------- Page 34 (Lecture #6-34.jpg) ---------
811
+ القوائم Lists
812
+
813
+ سمات/خصائص Attributes للقوائم Lists :
814
+
815
+ - خاصية type : لتغيير شكل القائمة :
816
+
817
+ 1. في حالة القوائم غير المرتبة يمكن إسناد إحدى القيم التالية إليها: square أو disc أو circle لوضع رمز المربع أو القرص أو الدائرة أمام كل عنصر على الترتيب.
818
+
819
+ 2. في حالة القائمة المرتبة يمكن إسناد إحدى القيم التالية إليها: 1 أو A أو a أو I أو i لتحويل الترقيم إلى ترقيم بأرقام عربية أو أحرف إنجليزية كبيرة أو أحرف إنجليزية صغيرة أو ترقيم بأرقام لاتينية كبيرة أو صغيرة.
820
+
821
+ - خاصية reversed : لعكس الترتيب من الكبير إلى الصغير.
822
+
823
+ - خاصية start : لتحديد البداية.
824
+
825
+ 32
826
+
827
+ -------- Page 35 (Lecture #6-35.jpg) ---------
828
+ Lists القوائم
829
+
830
+ مثال (3):
831
+
832
+ <html lang="en">
833
+ <head>
834
+ <title> Lists </title>
835
+ <meta charset='utf-8'>
836
+ </head>
837
+ <body>
838
+ <ol type=“A”>
839
+ <li>HTML</li>
840
+ <li>HTML5</li>
841
+ <li>XHTML</li>
842
+ <li>CSS</li>
843
+ <li>CSS3</li>
844
+ </ol>
845
+ </body>
846
+ </html>
847
+
848
+ 33
849
+
850
+ -------- Page 36 (Lecture #6-36.jpg) ---------
851
+ عملي ( program#26.html )
852
+
853
+ EXPLORER
854
+ HTML LANGUAGE
855
+ program#12.html
856
+ program#13.html
857
+ program#14.html
858
+ program#15.html
859
+ program#16.html
860
+ program#17.html
861
+ program#18.html
862
+ program#19.html
863
+ program#20.html
864
+ program#21.html
865
+ program#22.html
866
+ program#23.html
867
+ program#24.html
868
+ program#25.html
869
+ program#26.html
870
+
871
+ program#26.html
872
+
873
+ HTML language
874
+
875
+ <html lang="en">
876
+ <head>
877
+ <title> Lists </title>
878
+ <meta charset='utf-8'>
879
+ </head>
880
+ <body>
881
+ <ol type="A">
882
+ <li>HTML</li>
883
+ <li>HTML5</li>
884
+ <li>XHTML</li>
885
+ <li>CSS</li>
886
+ <li>CSS3</li>
887
+ </ol>
888
+ </body>
889
+ </html>
890
+
891
+ OUTLINE
892
+ TIMELINE
893
+
894
+ Ln 16, Col 1 Spaces: 4 UTF-8 CRLF HTML
895
+
896
+ 34
897
+
898
+ -------- Page 37 (Lecture #6-37.jpg) ---------
899
+ [ERROR: Failed to upload image]
900
+
901
+ -------- Page 38 (Lecture #6-38.jpg) ---------
902
+ Lists القوائم
903
+
904
+ مثال (4) :
905
+
906
+ <html lang="en">
907
+ <head>
908
+ <title> Lists </title>
909
+ <meta charset='utf-8'>
910
+ </head>
911
+ <body>
912
+
913
+ <ol reversed>
914
+ <li>HTML</li>
915
+ <li>HTML5</li>
916
+ <li>XHTML</li>
917
+ <li>CSS</li>
918
+ <li>CSS3</li>
919
+ </ol>
920
+
921
+ </body>
922
+ </html>
923
+
924
+ 36
925
+
926
+ -------- Page 39 (Lecture #6-39.jpg) ---------
927
+ ( program#29.html ) عملي
928
+
929
+ EXPLORER
930
+
931
+ HTML LANGUAGE
932
+ program#15.html
933
+ program#16.html
934
+ program#17.html
935
+ program#18.html
936
+ program#19.html
937
+ program#20.html
938
+ program#21.html
939
+ program#22.html
940
+ program#23.html
941
+ program#24.html
942
+ program#25.html
943
+ program#26.html
944
+ program#27.html
945
+ program#28.html
946
+ program#29.html
947
+
948
+ OUTLINE
949
+ TIMELINE
950
+
951
+ program#29.html ×
952
+ program#29.html > html > body > ol > li
953
+
954
+ 1 <!html lang="en">
955
+ 2 <head>
956
+ 3 <title> Lists </title>
957
+ 4 <meta charset='utf-8'>
958
+ 5 </head>
959
+ 6 <body>
960
+ 7 <ol reversed>
961
+ 8 <li>HTML</li>
962
+ 9 <li>HTML5</li>
963
+ 10 <li>XHTML</li>
964
+ 11 <li>CSS</li>
965
+ 12 <li>CSS3</li>
966
+ 13 </ol>
967
+ 14 </body>
968
+ 15 </html>
969
+
970
+ Ln 9, Col 23 Spaces: 4 UTF-8 CRLF HTML
971
+
972
+ 37
973
+
974
+ -------- Page 40 (Lecture #6-40.jpg) ---------
975
+ ( program#29.html ) عملي
976
+
977
+ ◦ Lists
978
+
979
+ 5. HTML
980
+ 4. HTML5
981
+ 3. XHTML
982
+ 2. CSS
983
+ 1. CSS3
984
+
985
+ 38
986
+
987
+ -------- Page 41 (Lecture #6-41.jpg) ---------
988
+ القوائم Lists
989
+
990
+ مثال (5):
991
+
992
+ <html lang="en">
993
+ <head>
994
+ <title> Lists </title>
995
+ <meta charset='utf-8'>
996
+ </head>
997
+ <body>
998
+
999
+ <ol start="40">
1000
+ <li>HTML</li>
1001
+ <li>HTML5</li>
1002
+ <li>XHTML</li>
1003
+ <li>CSS</li>
1004
+ <li>CSS3</li>
1005
+ </ol>
1006
+
1007
+ </body>
1008
+ </html>
1009
+
1010
+ 39
1011
+
1012
+ -------- Page 42 (Lecture #6-42.jpg) ---------
1013
+ عملي ( program#30.html )
1014
+
1015
+ EXPLORER
1016
+ HTML LANGUAGE
1017
+ program#16.html
1018
+ program#17.html
1019
+ program#18.html
1020
+ program#19.html
1021
+ program#20.html
1022
+ program#21.html
1023
+ program#22.html
1024
+ program#23.html
1025
+ program#24.html
1026
+ program#25.html
1027
+ program#26.html
1028
+ program#27.html
1029
+ program#28.html
1030
+ program#29.html
1031
+ program#30.html
1032
+
1033
+ program#30.html x
1034
+ program#30.html >
1035
+
1036
+ <html lang="en">
1037
+ <head>
1038
+ <title> Lists </title>
1039
+ <meta charset='utf-8'>
1040
+ </head>
1041
+ <body>
1042
+ <ol start="40">
1043
+ <li>HTML</li>
1044
+ <li>HTML5</li>
1045
+ <li>XHTML</li>
1046
+ <li>CSS</li>
1047
+ <li>CSS3</li>
1048
+ </ol>
1049
+ </body>
1050
+ </html>
1051
+
1052
+ OUTLINE
1053
+ TIMELINE
1054
+
1055
+ Ln 16, Col 1 Spaces: 4 UTF-8 CRLF HTML
1056
+
1057
+ 40
1058
+
1059
+ -------- Page 43 (Lecture #6-43.jpg) ---------
1060
+ ( program#30.html ) عملي
1061
+
1062
+ Lists
1063
+
1064
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2330.h
1065
+
1066
+ 40. HTML
1067
+ 41. HTML5
1068
+ 42. XHTML
1069
+ 43. CSS
1070
+ 44. CSS3
1071
+
1072
+ 41
1073
+
1074
+ -------- Page 44 (Lecture #6-44.jpg) ---------
1075
+ القوائم Lists
1076
+
1077
+ مثال (6):
1078
+
1079
+ <html lang="en">
1080
+ <head>
1081
+ <title> Lists </title>
1082
+ <meta charset='utf-8'>
1083
+ </head>
1084
+ <body>
1085
+
1086
+ <ul type="circle">
1087
+ <li>HTML</li>
1088
+ <li>HTML5</li>
1089
+ <li>XHTML</li>
1090
+ <li>CSS</li>
1091
+ <li>CSS3</li>
1092
+ </ul>
1093
+
1094
+ </body>
1095
+ </html>
1096
+
1097
+ 42
1098
+
1099
+ -------- Page 45 (Lecture #6-45.jpg) ---------
1100
+ ( program#27.html ) عملي
1101
+
1102
+ EXPLORER
1103
+ HTML LANGUAGE
1104
+ program#13.html
1105
+ program#14.html
1106
+ program#15.html
1107
+ program#16.html
1108
+ program#17.html
1109
+ program#18.html
1110
+ program#19.html
1111
+ program#20.html
1112
+ program#21.html
1113
+ program#22.html
1114
+ program#23.html
1115
+ program#24.html
1116
+ program#25.html
1117
+ program#26.html
1118
+ program#27.html
1119
+
1120
+ OUTLINE
1121
+ TIMELINE
1122
+
1123
+ program#27.html
1124
+
1125
+ program#27.html ×
1126
+
1127
+ <html lang="en">
1128
+ <head>
1129
+ <title> Lists </title>
1130
+ <meta charset='utf-8'>
1131
+ </head>
1132
+ <body>
1133
+ <ul type="circle">
1134
+ <li>HTML</li>
1135
+ <li>HTML5</li>
1136
+ <li>XHTML</li>
1137
+ <li>CSS</li>
1138
+ <li>CSS3</li>
1139
+ </ul>
1140
+ </body>
1141
+ </html>
1142
+
1143
+ Ln 16, Col 1 Spaces: 4 UTF-8 CRLF HTML
1144
+
1145
+ -------- Page 46 (Lecture #6-46.jpg) ---------
1146
+ ( program#27.html ) عملي
1147
+
1148
+ Lists
1149
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2327.h
1150
+
1151
+ • HTML
1152
+ • HTML5
1153
+ • XHTML
1154
+ • CSS
1155
+ • CSS3
1156
+
1157
+ 44
1158
+
1159
+ -------- Page 47 (Lecture #6-47.jpg) ---------
1160
+ [ERROR: Failed to upload image]
1161
+
1162
+ -------- Page 48 (Lecture #6-48.jpg) ---------
1163
+ Lists القوائم
1164
+
1165
+ : مثال
1166
+
1167
+ <html lang="en">
1168
+ <head>
1169
+ <title> Lists </title>
1170
+ <meta charset='utf-8'>
1171
+ </head>
1172
+ <body>
1173
+ <dl>
1174
+ <dt>HTML</dt>
1175
+ <dd>Hyper Text Markup Language</dd>
1176
+ <dt>XHTML</dt>
1177
+ <dd>extensible Hyper Text Markup Language</dd>
1178
+ <dt>CSS</dt>
1179
+ <dd>Cascading Style Sheet</dd>
1180
+ </dl>
1181
+ </body>
1182
+ </html>
1183
+
1184
+ 46
1185
+
1186
+ -------- Page 49 (Lecture #6-49.jpg) ---------
1187
+ عملي ( program#28.html )
1188
+
1189
+ EXPLORER
1190
+ HTML LANGUAGE
1191
+ program#14.html
1192
+ program#15.html
1193
+ program#16.html
1194
+ program#17.html
1195
+ program#18.html
1196
+ program#19.html
1197
+ program#20.html
1198
+ program#21.html
1199
+ program#22.html
1200
+ program#23.html
1201
+ program#24.html
1202
+ program#25.html
1203
+ program#26.html
1204
+ program#27.html
1205
+ program#28.html
1206
+
1207
+ program#28.html
1208
+
1209
+ 1 <html lang="en">
1210
+ 2 <head>
1211
+ 3 <title> Lists </title>
1212
+ 4 <meta charset='utf-8'>
1213
+ 5 </head>
1214
+ 6 <body>
1215
+ 7 <dl>
1216
+ 8 <dt>HTML</dt>
1217
+ 9 <dd>Hyper Text Markup Language</dd>
1218
+ 10 <dt>XHTML</dt>
1219
+ 11 <dd>extensible Hyper Text Markup Language</dd>
1220
+ 12 <dt>CSS</dt>
1221
+ 13 <dd>Cascading Style Sheet</dd>
1222
+ 14
1223
+ 15 </dl>
1224
+ 16 </body>
1225
+ 17 </html>
1226
+ 18
1227
+
1228
+ OUTLINE
1229
+ TIMELINE
1230
+
1231
+ Ln 18, Col 1 Spaces: 4 UTF-8 CRLF HTML
1232
+
1233
+ -------- Page 50 (Lecture #6-50.jpg) ---------
1234
+ ( program#28.html ) عملي
1235
+
1236
+ Lists
1237
+ file:///C:/Users/Z10/Desktop/HTML%20language/program%2328.h
1238
+
1239
+ HTML
1240
+ Hyper Text Markup Language
1241
+ XHTML
1242
+ extensible Hyper Text Markup Language
1243
+ CSS
1244
+ Cascading Style Sheet
1245
+
1246
+ 48
1247
+
1248
+ -------- Page 51 (Lecture #6-51.jpg) ---------
1249
+ Thank you
data/7.txt ADDED
@@ -0,0 +1,1090 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #7-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+ [ ITGS226 ]
8
+
9
+ المحاضرة السابعة
10
+
11
+ أ. وفاء حسين المصباحي
12
+ أستاذة المادة
13
+
14
+ HTML5
15
+ CSS3
16
+ JS
17
+ Cloud
18
+ XML
19
+ flat
20
+ header
21
+ .com
22
+ footer
23
+ .net
24
+ PHP
25
+
26
+ ربيع 2025
27
+
28
+ -------- Page 2 (Lecture #7-02.jpg) ---------
29
+ المواضيع التي سنبحثها في مقرر: مقدمة في برمجة الإنترنت
30
+ Introduction to Internet Programming
31
+ المحاضرة السابعة
32
+
33
+ . الصوتيات Audio
34
+ 1
35
+
36
+ . الفيديوهات Video
37
+
38
+ . الجداول Tables
39
+
40
+ -------- Page 3 (Lecture #7-03.jpg) ---------
41
+ Audio الصوتيات
42
+
43
+ - لدينا ملف صوتي mp3.music موجود بجانب ملف html.
44
+ - لإضافة الصوتيات يتم استخدام وسم tag:
45
+
46
+ <audio src=" "></audio>
47
+
48
+ مثال:
49
+ <audio src="music.mp3"></audio>
50
+
51
+ - توجد مشكلة: يمكن أن يكون المتصفح لا يدعم إمتدادات معينة للصوت.
52
+
53
+ - لحل المشكلة: نعمل نفس الملف بإمتدادات مختلفة (.ogg - .mp3 - .wav)، ونستخدم الوسم:
54
+
55
+ <source src=" ">
56
+
57
+ مثال:
58
+ <audio>
59
+ <source src="music.mp3">
60
+ <source src="music.wav">
61
+ <source src="music.ogg">
62
+ </audio>
63
+
64
+ لينفذ المتصفح الجملة التي يدعم إمتدادها.
65
+
66
+ -------- Page 4 (Lecture #7-04.jpg) ---------
67
+ الصوتيات Audio
68
+
69
+ - لكي يتعرف المتصفح على نوع الملف الصوتي:
70
+
71
+ file type
72
+ mp3 audio/mpeg
73
+ wav audio/wav
74
+ ogg audio/ogg
75
+
76
+ مثال :
77
+
78
+ <audio>
79
+ <source src="music.mp3" type="audio/mpeg">
80
+ <source src="music.wav" type="audio/wav">
81
+ <source src="music.ogg" type="audio/ogg">
82
+ Your Browser does not support the audio element.
83
+ </audio>
84
+
85
+ كتابة هذه الجملة إذا المتصفح لا يدعم أي إمتداد من الأصوات.
86
+
87
+ 2
88
+
89
+ -------- Page 5 (Lecture #7-05.jpg) ---------
90
+ الصوتيات Audio
91
+
92
+ سمات/خصائص Attributes لعناصر الصوت Audio :
93
+
94
+ - خاصية controls : لإظهار أزرار التحكم.
95
+ - خاصية loop : لتكرار الصوت.
96
+ - خاصية muted : لعمل صامت.
97
+ - خاصية autoplay : هذه الخاصية تجعل الصوت يعمل أوتوماتيك بمجرد فتح الملف وهذا سيء لأن المستخدم لا يعرف لماذا الصوت يشتغل، هذه الخاصية أصبحت غير مدعومة من قبل المتصفحات.
98
+
99
+ الشكل العام:
100
+
101
+ <audio controls loop muted autoplay>
102
+
103
+ </audio>
104
+
105
+ 3
106
+
107
+ -------- Page 6 (Lecture #7-06.jpg) ---------
108
+ الصوتيات Audio
109
+
110
+ مثال :
111
+
112
+ <html lang="en">
113
+ <head>
114
+ <title> Audio </title>
115
+ <meta charset='utf-8'>
116
+ </head>
117
+ <body>
118
+
119
+ <audio controls loop muted>
120
+ <source src="aud.mp3" type="audio/mpeg">
121
+ <source src="aud.wav" type="audio/wav">
122
+ <source src="aud.ogg" type="audio/ogg">
123
+ Your Browser does not support the audio element.
124
+ </audio>
125
+
126
+ </body>
127
+ </html>
128
+
129
+ 4
130
+
131
+ -------- Page 7 (Lecture #7-07.jpg) ---------
132
+ ( program#32.html ) عملي
133
+
134
+ HTML LANGUAGE
135
+ › program#17.html
136
+ › program#18.html
137
+ › program#19.html
138
+ › program#20.html
139
+ › program#21.html
140
+ › program#22.html
141
+ › program#23.html
142
+ › program#24.html
143
+ › program#25.html
144
+ › program#26.html
145
+ › program#27.html
146
+ › program#28.html
147
+ › program#29.html
148
+ › program#30.html
149
+ › program#31.html
150
+ › program#32.html
151
+
152
+ OUTLINE
153
+ TIMELINE
154
+
155
+ program#32.html ×
156
+
157
+ 1 <html lang="en">
158
+ 2 <head>
159
+ 3 <title> Audio </title>
160
+ 4 <meta charset='utf-8'>
161
+ 5 </head>
162
+ 6 <body>
163
+ 7 <audio controls loop muted >
164
+ 8 <source src="aud.mp3" type="audio/mpeg">
165
+ 9 <source src="aud.wav" type="audio/wav">
166
+ 10 <source src="aud.ogg" type="audio/ogg">
167
+ 11 Your Browser does not support the audio element.
168
+ 12 </audio>
169
+ 13 </body>
170
+ 14 </html>
171
+ 15
172
+
173
+ Ln 15, Col 1 Spaces: 4 UTF-8 CRLF HTML
174
+ 5
175
+
176
+ -------- Page 8 (Lecture #7-08.jpg) ---------
177
+ عملي ( program#32.html )
178
+
179
+ Audio
180
+
181
+ 0:00 / 5:10
182
+
183
+ 6
184
+
185
+ -------- Page 9 (Lecture #7-09.jpg) ---------
186
+ الفيديوهات Video
187
+
188
+ - لدينا ملف فيديو nature.mp4 موجود بجانب ملف html أو في مجلد folder اسمه video.
189
+ - لإضافة الفيديوهات يتم استخدام وسـم tag:
190
+
191
+ < video src=“ ” > </video>
192
+
193
+ مثال:
194
+
195
+ < video src= “video/ nature.mp4” > </video>
196
+
197
+ - توجد مشكلة: يمكن أن يكون المتصفح لا يدعم امتدادات معينة للفيديو.
198
+ - لحل المشكلة: نعمل نفس الملف بإمتدادات مختلفة ( .mp4 - .ogg - .webm )، ونستخدم الوسم:
199
+
200
+ <source src=“ ” >
201
+
202
+ مثال:
203
+
204
+ <video>
205
+
206
+ <source src=“video/nature.mp4” >
207
+
208
+ <source src=“video/nature.webm” >
209
+
210
+ <source src=“video/nature.ogg” >
211
+
212
+ </video>
213
+
214
+ لينفذ المتصفح الجملة التي يدعم امتدادها.
215
+
216
+ 7
217
+
218
+ -------- Page 10 (Lecture #7-10.jpg) ---------
219
+ الفيديوهات Video
220
+
221
+ - لكي يتعرف المتصفح على نوع ملف الفيديو:
222
+
223
+ file type
224
+ mp4 video/mp4
225
+ webm video/webm
226
+ ogg video/ogg
227
+
228
+ مثال :
229
+
230
+ <video>
231
+ <source src="video/nature.mp3" type=" video/mp4">
232
+ <source src="video/nature.wav" type=" video/webm ">
233
+ <source src=video/"nature.ogg" type=" video/ogg ">
234
+ Your Browser does not support the video element.
235
+ </video>
236
+
237
+ كتابة هذه الجملة إذا المتصفح لا يدعم أي إمتداد من الفيديوهات.
238
+
239
+ 8
240
+
241
+ -------- Page 11 (Lecture #7-11.jpg) ---------
242
+ الفيديوهات Video
243
+
244
+ سمات/خصائص Attributes لعناصر الفيديو Video:
245
+
246
+ - خاصية controls: لإظهار أزرار التحكم.
247
+ - خاصية loop: لتكرار الفيديو.
248
+ - خاصية muted: لعمل صامت للصوت.
249
+ - خاصية autoplay: هذه الخاصية تجعل الفيديو يعمل أوتوماتيك بمجرد فتح الملف ولا تشتغل هذه الخاصية إلا بوجود خاصية muted.
250
+ - خاصية width وخاصية height: عرض الفيديو بمقاس محدد ومن الأفضل إستخدام واحدة منهم، وتسند لهما القيمة بالبكسل مثل: width="400" و height="400" ، أو تسند لها قيمة % مثل: width="100%" .
251
+ - خاصية poster: لعمل خلفية(صورة) للفيديو، الصورة تكون بجانب ملف html، مثل: poster="myPic.jpg" .
252
+
253
+ الشكل العام:
254
+
255
+ <video controls loop width="400" height="400" muted autoplay>
256
+ </video>
257
+
258
+ 9
259
+
260
+ -------- Page 12 (Lecture #7-12.jpg) ---------
261
+ الفيديوهات Video
262
+
263
+ : مثال -
264
+
265
+ <html lang="en">
266
+ <head>
267
+ <title> Video </title>
268
+ <meta charset='utf-8'>
269
+ </head>
270
+ <body>
271
+
272
+ <video controls width="500" poster="myPic.jpg">
273
+ <source src="video/nature.mp4" type="video/mp4">
274
+ <source src="video/nature.webm" type="video/webm">
275
+ <source src="video/nature.ogg" type="video/ogg">
276
+ Your Browser does not support the video element.
277
+ </video>
278
+
279
+ </body>
280
+ </html>
281
+
282
+ 10
283
+
284
+ -------- Page 13 (Lecture #7-13.jpg) ---------
285
+ ( program#33.html ) عملي
286
+
287
+ EXPLORER
288
+ HTML LANGUAGE
289
+ program#19.html
290
+ program#20.html
291
+ program#21.html
292
+ program#22.html
293
+ program#23.html
294
+ program#24.html
295
+ program#25.html
296
+ program#26.html
297
+ program#27.html
298
+ program#28.html
299
+ program#29.html
300
+ program#30.html
301
+ program#31.html
302
+ program#32.html
303
+ program#33.html
304
+
305
+ OUTLINE
306
+ TIMELINE
307
+
308
+ program#33.html x
309
+
310
+ program#33.html >
311
+
312
+ <html lang="en">
313
+ <head>
314
+ <title> Video </title>
315
+ <meta charset='utf-8'>
316
+ </head>
317
+ <body>
318
+
319
+ <video controls width="500" poster="myPic.jpg" >
320
+ <source src="video/nature.mp4" type="video/mp4">
321
+ <source src="video/nature.webm" type="video/webm">
322
+ <source src="video/nature.ogg" type="video/ogg">
323
+ Your Browser does not support the video element.
324
+ </video>
325
+
326
+ </body>
327
+ </html>
328
+
329
+ Ln 15, Col 1 Spaces: 4 UTF-8 CRLF HTML
330
+
331
+ 11
332
+
333
+ -------- Page 14 (Lecture #7-14.jpg) ---------
334
+ عملي ( program#33.html )
335
+
336
+ صورة
337
+
338
+ فيديو
339
+
340
+ 12
341
+
342
+ -------- Page 15 (Lecture #7-15.jpg) ---------
343
+ Tables
344
+ الجداول
345
+
346
+ - توفر لغة HTML آلية لإنشاء الجداول عبر العنصر <table> ، ثم يتم إنشاء محتويات الجدول حيث إنشاء الصفوف باستخدام الوسم <tr> ، ثم يتم ذكر محتويات خلايا table data كل سطر من أسطر الجدول على حدى وذلك عبر الوسم <td> .
347
+
348
+ : الشكل العام
349
+
350
+ <table>
351
+ <tr>
352
+ <td> ... </td>
353
+ <td> ... </td>
354
+ <td> ... </td>
355
+ </tr>
356
+ </table>
357
+
358
+ 13
359
+
360
+ -------- Page 16 (Lecture #7-16.jpg) ---------
361
+ الجداول Tables
362
+
363
+ سمات/خصائص Attributes لعناصر الجدول Table :
364
+ - خاصية border : لعمل إطار للجدول.
365
+ - خاصية width : تحدد عرض الجدول تسند لها قيمة % مثل : "width="50%".
366
+ - خاصية colspan : تستخدم مع الوسم <td> لدمج الأعمدة في عمود واحد، مثل : "colspan="2" لدمج عمودين.
367
+ - خاصية rowspan : تستخدم مع الوسم <td> لدمج الصفوف في صف واحد، مثل : "rowspan="3" لدمج ثلاث صفوف.
368
+
369
+ <tr> </tr>
370
+
371
+ <td></td> <td></td> <td></td>
372
+ <td></td> <td></td> <td></td>
373
+ <td></td> <td></td> <td></td>
374
+ <td></td> <td></td> <td></td>
375
+
376
+ 14
377
+
378
+ -------- Page 17 (Lecture #7-17.jpg) ---------
379
+ Tables الجداول
380
+
381
+ <html lang="en">
382
+ <head>
383
+ <title> Create Table </title>
384
+ <meta charset='utf-8'>
385
+ </head>
386
+ <body>
387
+ <table border="1" width="50%">
388
+ <tr>
389
+ <td> name </td>
390
+ <td> age </td>
391
+ <td> salary </td>
392
+ </tr>
393
+ <tr>
394
+ <td> Ahmed </td>
395
+ <td> 25 </td>
396
+ <td> 2400 </td>
397
+ </tr>
398
+ <tr>
399
+ <td> Ali </td>
400
+ </tr>
401
+ </table>
402
+ </body>
403
+ </html>
404
+
405
+ مثال (1) -
406
+
407
+ 15
408
+
409
+ -------- Page 18 (Lecture #7-18.jpg) ---------
410
+ ( program#34.html ) عملي
411
+
412
+ File Edit Selection
413
+
414
+ EXPLORER
415
+
416
+ HTML LANGUAGE
417
+ program#20.html
418
+ program#21.html
419
+ program#22.html
420
+ program#23.html
421
+ program#24.html
422
+ program#25.html
423
+ program#26.html
424
+ program#27.html
425
+ program#28.html
426
+ program#29.html
427
+ program#30.html
428
+ program#31.html
429
+ program#32.html
430
+ program#33.html
431
+ program#34.html
432
+
433
+ OUTLINE
434
+ TIMELINE
435
+
436
+ program#34.html x
437
+ program#34.html …
438
+
439
+ <html lang="en">
440
+ <body>
441
+ <table border="1" width="50%">
442
+ <tr>
443
+ <td> name </td>
444
+ <td> age </td>
445
+ <td> salary </td>
446
+ </tr>
447
+ <tr>
448
+ <td> Ahmed </td>
449
+ <td> 25 </td>
450
+ <td> 2400 </td>
451
+ </tr>
452
+ <tr>
453
+ <td> Ali </td>
454
+ </tr>
455
+ </table>
456
+ </body>
457
+ </html>
458
+
459
+ Ln 24, Col 1 Spaces: 4 UTF-8 CRLF HTML
460
+
461
+ 16
462
+
463
+ 0 0 ⚠ 0
464
+
465
+ -------- Page 19 (Lecture #7-19.jpg) ---------
466
+ ( program#34.html ) عملي
467
+
468
+ Create Table
469
+
470
+ file:///C:/Users/Z10/Desktop/HTML%20langu…
471
+
472
+ name age salary
473
+ Ahmed 25 2400
474
+ Ali
475
+ 17
476
+
477
+ -------- Page 20 (Lecture #7-20.jpg) ---------
478
+ Tables الجداول
479
+
480
+ مثال (2):
481
+
482
+ <html lang="en">
483
+ <head>
484
+ <title> Create Table </title>
485
+ <meta charset='utf-8'>
486
+ </head>
487
+ <body>
488
+ <table border="2" width="50%">
489
+ <tr>
490
+ <td> name </td>
491
+ <td> age </td>
492
+ <td> salary </td>
493
+ </tr>
494
+ <tr>
495
+ <td> Ahmed </td>
496
+ <td> 25 </td>
497
+ <td> 2400 </td>
498
+ </tr>
499
+ <tr>
500
+ <td> Ali </td>
501
+ <td> 26 </td>
502
+ <td> 3000 </td>
503
+ </tr>
504
+ </table>
505
+ </body>
506
+ </html>
507
+
508
+ 18
509
+
510
+ -------- Page 21 (Lecture #7-21.jpg) ---------
511
+ الجدوال Tables
512
+
513
+ تابع -
514
+
515
+ <tr>
516
+ <td> Total </td>
517
+ <td colspan="2" > 5400 </td>
518
+ </tr>
519
+ </table>
520
+
521
+ </body>
522
+ </html>
523
+
524
+ 19
525
+
526
+ -------- Page 22 (Lecture #7-22.jpg) ---------
527
+ عملي ( program#35.html )
528
+
529
+ File Edit Selection
530
+ EXPLORER
531
+ HTML LANGUAGE
532
+ program#2.html
533
+ program#22.html
534
+ program#23.html
535
+ program#24.html
536
+ program#25.html
537
+ program#26.html
538
+ program#27.html
539
+ program#28.html
540
+ program#29.html
541
+ program#30.html
542
+ program#31.html
543
+ program#32.html
544
+ program#33.html
545
+ program#34.html
546
+ program#35.html
547
+
548
+ OUTLINE
549
+ TIMELINE
550
+
551
+ 0 0 0
552
+
553
+ program#35.html
554
+
555
+ program#35.html …
556
+
557
+ <html lang="en">
558
+ <body>
559
+ <table border="2" width="50%">
560
+ <tr>
561
+ <td> Ahmed </td>
562
+ <td> 25 </td>
563
+ <td> 2400 </td>
564
+ </tr>
565
+ <tr>
566
+ <td> Ali </td>
567
+ <td> 26 </td>
568
+ <td> 3000 </td>
569
+ </tr>
570
+ <tr>
571
+ <td> Total </td>
572
+ <td colspan="2"> 5400 </td>
573
+ </tr>
574
+ </table>
575
+ </body>
576
+ </html>
577
+
578
+ Ln 30, Col 1 Spaces: 4 UTF-8 CRLF HTML
579
+
580
+ 20
581
+
582
+ -------- Page 23 (Lecture #7-23.jpg) ---------
583
+ ( program#35.html ) عملي
584
+
585
+ Create Table
586
+
587
+ file:///C:/Users/Z10/Desktop/HTML%20langu...
588
+
589
+ name age salary
590
+ Ahmed 25 2400
591
+ Ali 26 3000
592
+ Total 5400
593
+
594
+ 21
595
+
596
+ -------- Page 24 (Lecture #7-24.jpg) ---------
597
+ الجداول Tables
598
+
599
+ مثال (3) :
600
+
601
+ <html lang=“ar”>
602
+ <head>
603
+ <title> تكوين جدول </title>
604
+ <meta charset=‘utf-8’>
605
+ </head>
606
+ <body dir="rtl">
607
+ <table border=“1“ width=“50%“>
608
+ <tr>
609
+ <td> إسم الكتاب </td>
610
+ <td> السعر </td>
611
+ <td> الكمية </td>
612
+ </tr>
613
+ <tr>
614
+ <td> برمجة الويب </td>
615
+ <td> 150 </td>
616
+ <td> 3 </td>
617
+ </tr>
618
+ <tr>
619
+ <td> نظام التشغيل </td>
620
+ <td> 105 </td>
621
+ <td> 6 </td>
622
+ </tr>
623
+ </table>
624
+ </body>
625
+ </html>
626
+
627
+ 22
628
+
629
+ -------- Page 25 (Lecture #7-25.jpg) ---------
630
+ Tables الجداول
631
+
632
+ - تابع
633
+
634
+ <tr>
635
+ <td> برمجة الألعاب </td>
636
+ <td> 100 </td>
637
+ <td> 10 </td>
638
+ </tr>
639
+ <tr>
640
+ <td> تعلم الطبخ </td>
641
+ <td> 50 </td>
642
+ <td> 15 </td>
643
+ </tr>
644
+ <tr>
645
+ <td> المجموع </td>
646
+ <td colspan="2"> 2830 </td>
647
+ </tr>
648
+ </table>
649
+
650
+ </body>
651
+ </html>
652
+
653
+ 23
654
+
655
+ -------- Page 26 (Lecture #7-26.jpg) ---------
656
+ ( program#36.html ) عملي
657
+
658
+ EXPLORER
659
+ HTML LANGUAGE
660
+ program#23.html
661
+ program#24.html
662
+ program#25.html
663
+ program#26.html
664
+ program#27.html
665
+ program#28.html
666
+ program#29.html
667
+ program#30.html
668
+ program#31.html
669
+ program#32.html
670
+ program#33.html
671
+ program#34.html
672
+ program#35.html
673
+ program#36.html
674
+
675
+ program#36.html
676
+
677
+ program#36.html > html > head > meta
678
+
679
+ <html lang="ar">
680
+ <head>
681
+ <title> تكوين جدول </title>
682
+ <meta charset='utf-8'>
683
+ </head>
684
+ <body dir="rtl">
685
+ <table border="1" width="50%">
686
+ <tr>
687
+ <td> إسم الكتاب </td>
688
+ <td> السعر </td>
689
+ <td> الكمية </td>
690
+ </tr>
691
+ <tr>
692
+ <td> برمجة الويب </td>
693
+ <td> 150 </td>
694
+ <td> 3 </td>
695
+ </tr>
696
+ <tr>
697
+ <td> نظام التشغيل </td>
698
+ <td> 105 </td>
699
+ </tr>
700
+
701
+ Ln 4, Col 21 Spaces: 4 UTF-8 CRLF HTML
702
+
703
+ -------- Page 27 (Lecture #7-27.jpg) ---------
704
+ عملي ( program#36.html )
705
+
706
+ تكوين جدول
707
+
708
+ اسم الكتاب السعر الكمية
709
+ برمجة الويب 150 3
710
+ نظام التشغيل 105 6
711
+ برمجة الألعاب 100 10
712
+ تعلم الطبخ 50 15
713
+ المجموع 2830
714
+
715
+ -------- Page 28 (Lecture #7-28.jpg) ---------
716
+ Tables الجداول
717
+
718
+ مثال (4) :
719
+
720
+ <html lang="ar">
721
+ <head>
722
+ <title> تكوين جدول </title>
723
+ <meta charset="utf-8">
724
+ </head>
725
+ <body dir="rtl">
726
+ <table border="2" width="50%">
727
+ <tr>
728
+ <td> إسم الكتاب </td>
729
+ <td> تعلم لغة السي </td>
730
+ <td rowspan="3"> <img src="myPic2.jpg" width="200px" height="100px"> </td>
731
+ </tr>
732
+ <tr>
733
+ <td> المؤلف </td>
734
+ <td> د. بشير الفائد </td>
735
+ </tr>
736
+ <tr>
737
+ <td> سنة الإصدار </td>
738
+ <td> 2001 </td>
739
+ </tr>
740
+ </table>
741
+ </body>
742
+ </html>
743
+
744
+ 26
745
+
746
+ -------- Page 29 (Lecture #7-29.jpg) ---------
747
+ الجداول Tables
748
+
749
+ - تابع
750
+
751
+ <tr>
752
+ <td colspan="3">يقدم هذا الكتاب معلومات عن لغة الـــي</td>
753
+ </tr>
754
+ </table>
755
+ </body>
756
+ </html>
757
+
758
+ 27
759
+
760
+ -------- Page 30 (Lecture #7-30.jpg) ---------
761
+ عملي ( program#39.html )
762
+
763
+ EXPLORER
764
+ HTML LANGUAGE
765
+ program#25.html
766
+ program#26.html
767
+ program#27.html
768
+ program#28.html
769
+ program#29.html
770
+ program#30.html
771
+ program#31.html
772
+ program#32.html
773
+ program#33.html
774
+ program#34.html
775
+ program#35.html
776
+ program#36.html
777
+ program#37.html
778
+ program#38.html
779
+ program#39.html
780
+
781
+ OUTLINE
782
+ TIMELINE
783
+
784
+ program#39.html x
785
+ program#39.html > html > body > table > tr
786
+
787
+ HTML language
788
+
789
+ <html lang="ar">
790
+ <head>
791
+ <title> تكوين جدول </title>
792
+ <meta charset="utf-8">
793
+ </head>
794
+ <body dir="rtl">
795
+ <table border="2" width="50%">
796
+ <tr>
797
+ <td> إسم الكتاب </td>
798
+ <td> تعلم لغة الــي </td>
799
+ <td rowspan="3"> <img src="myPic2.jpg" width="200p
800
+ </tr>
801
+
802
+ <tr>
803
+ <td> المؤلف </td>
804
+ <td> د . بشير الفايد </td>
805
+ </tr>
806
+
807
+ <tr>
808
+ <td> سنة الاصدار </td>
809
+ <td> 2001 </td>
810
+ </tr>
811
+
812
+ -------- Page 31 (Lecture #7-31.jpg) ---------
813
+ عملي ( program#39.html )
814
+
815
+ تكوين جدول
816
+
817
+ اسم الكتاب تعلم لغة السي
818
+ المؤلف د. بشير الشاذلي
819
+ سنة الإصدار 2001
820
+ يقدم هذا الكتاب معلومات عن لغة السي
821
+
822
+ -------- Page 32 (Lecture #7-32.jpg) ---------
823
+ Tables
824
+ الجداول
825
+
826
+ لو نريد أن نميز الصف الأول في الجدول يتم إستبدال الوسم <td> بالوسم <th> حيث يجعل الكتابة سميكة bold، كما في المثال التالي:
827
+
828
+ <html lang="en">
829
+ <head>
830
+ <title> Create Table </title>
831
+ <meta charset='utf-8'>
832
+ </head>
833
+ <body>
834
+ <table border="1" width="50%">
835
+ <tr>
836
+ <th> name </th>
837
+ <th> age </th>
838
+ <th> salary </th>
839
+ </tr>
840
+ <tr>
841
+ <td> Ahmed </td>
842
+ <td> 25 </td>
843
+ <td> 2400 </td>
844
+ </tr>
845
+ <tr>
846
+ <td> Ali </td>
847
+ <td> 23 </td>
848
+ <td> 3200 </td>
849
+ </tr>
850
+ </table>
851
+ </body>
852
+ </html>
853
+
854
+ إستبدال الوسم <td> بالوسم <th>
855
+
856
+ 30
857
+
858
+ -------- Page 33 (Lecture #7-33.jpg) ---------
859
+ ( program#37.html ) عملي
860
+
861
+ EXPLORER
862
+ HTML LANGUAGE
863
+ program#23.html
864
+ program#24.html
865
+ program#25.html
866
+ program#26.html
867
+ program#27.html
868
+ program#28.html
869
+ program#29.html
870
+ program#30.html
871
+ program#31.html
872
+ program#32.html
873
+ program#33.html
874
+ program#34.html
875
+ program#35.html
876
+ program#36.html
877
+ program#37.html
878
+
879
+ OUTLINE
880
+ TIMELINE
881
+
882
+ program#37.html ×
883
+ program#37.html > html > body > table > tr > td
884
+
885
+ <html lang="en">
886
+ <body>
887
+ <table border="1" width="50%">
888
+ <tr>
889
+ <th> name </th>
890
+ <th> age </th>
891
+ <th> salary </th>
892
+ </tr>
893
+ <tr>
894
+ <td> Ahmed </td>
895
+ <td> 25 </td>
896
+ <td> 2400 </td>
897
+ </tr>
898
+ <tr>
899
+ <td> Ali </td>
900
+ <td> 23 </td>
901
+ <td> 3200 </td>
902
+ </tr>
903
+ </table>
904
+ </body>
905
+ </html>
906
+
907
+ Ln 14, Col 24 Spaces: 4 UTF-8 CRLF HTML
908
+
909
+ 31
910
+ 0 0 0
911
+
912
+ -------- Page 34 (Lecture #7-34.jpg) ---------
913
+ ( program#37.html ) عملي
914
+
915
+ Create Table
916
+
917
+ name age salary
918
+ Ahmed 25 2400
919
+ Ali 23 3200
920
+
921
+ 32
922
+
923
+ -------- Page 35 (Lecture #7-35.jpg) ---------
924
+ الجداول Tables
925
+
926
+ • لتنظيم الجدول ولمساعدة محركات البحث نستخدم الوسوم <thead> ، <tbody> ، <tfoot> كما في الشكل التالي:
927
+
928
+ <thead>
929
+ <tbody>
930
+ <tfoot>
931
+
932
+ 33
933
+
934
+ -------- Page 36 (Lecture #7-36.jpg) ---------
935
+ Tables الجداول
936
+
937
+ لتنظيم الجدول ولمساعدة محركات البحث نستخدم الوسوم thead ، tbody ، tfoot ، ونستخدم الوسم caption لوصف الجدول.
938
+
939
+ :الشكل العام
940
+
941
+ <table>
942
+ <thead>
943
+ <caption> ... </caption>
944
+ <tr>
945
+ <td> ... </td>
946
+ <td> ... </td>
947
+ </tr>
948
+ </thead>
949
+ <tbody>
950
+ <tr>
951
+ <td> ... </td>
952
+ <td> ... </td>
953
+ </tr>
954
+ </tbody>
955
+ <tfoot>
956
+ <tr>
957
+ <td> ... </td>
958
+ <td> ... </td>
959
+ </tr>
960
+ </tfoot>
961
+ </table>
962
+
963
+ 34
964
+
965
+ -------- Page 37 (Lecture #7-37.jpg) ---------
966
+ Tables الجداول
967
+
968
+ كما في المثال التالي:
969
+
970
+ <html lang="en">
971
+ <head>
972
+ <title> Create Table </title>
973
+ <meta charset='utf-8'>
974
+ </head>
975
+ <body>
976
+ <table border="2" width="100%">
977
+ <caption> Table (1) : </caption>
978
+ <thead>
979
+ <tr>
980
+ <th> name </th>
981
+ <th> age </th>
982
+ <th> salary </th>
983
+ </tr>
984
+ </thead>
985
+ <tbody>
986
+ <tr>
987
+ <td> Ahmed </td>
988
+ <td> 25 </td>
989
+ <td> 2400 </td>
990
+ </tr>
991
+ </tbody>
992
+ </table>
993
+ </body>
994
+ </html>
995
+
996
+ 35
997
+
998
+ -------- Page 38 (Lecture #7-38.jpg) ---------
999
+ Tables الجداول
1000
+
1001
+ تابع
1002
+
1003
+ <tr>
1004
+ <td> Ali </td>
1005
+ <td> 23 </td>
1006
+ <td> 3200 </td>
1007
+ </tr>
1008
+ </tbody>
1009
+ <tfoot>
1010
+ <tr>
1011
+ <td> total </td>
1012
+ <td colspan="2"> 5600 </td>
1013
+ </tr>
1014
+ </tfoot>
1015
+ </table>
1016
+
1017
+ </body>
1018
+ </html>
1019
+
1020
+ 36
1021
+
1022
+ -------- Page 39 (Lecture #7-39.jpg) ---------
1023
+ عملي (program#38.html)
1024
+
1025
+ EXPLORER
1026
+
1027
+ HTML LANGUAGE
1028
+ program#24.html
1029
+ program#25.html
1030
+ program#26.html
1031
+ program#27.html
1032
+ program#28.html
1033
+ program#29.html
1034
+ program#30.html
1035
+ program#31.html
1036
+ program#32.html
1037
+ program#33.html
1038
+ program#34.html
1039
+ program#35.html
1040
+ program#36.html
1041
+ program#37.html
1042
+ program#38.html
1043
+
1044
+ OUTLINE
1045
+ TIMELINE
1046
+
1047
+ program#38.html x
1048
+ program#38.html > html > body > table
1049
+
1050
+ 1 <html lang="en">
1051
+ 2 <head>
1052
+ 3 <title> Create Table </title>
1053
+ 4 <meta charset='utf-8'>
1054
+ 5 </head>
1055
+ 6 <body>
1056
+ 7 <table border="2" width="100%">
1057
+ 8 <caption> Table (1) : </caption>
1058
+ 9 <thead>
1059
+ 10 <tr>
1060
+ 11 <th> name </th>
1061
+ 12 <th> age </th>
1062
+ 13 <th> salary </th>
1063
+ 14 </tr>
1064
+ 15 </thead>
1065
+ 16 <tbody>
1066
+ 17 <tr>
1067
+ 18 <td> Ahmed </td>
1068
+ 19 <td> 25 </td>
1069
+ 20 <td> 2400 </td>
1070
+ ...
1071
+ 37
1072
+
1073
+ Ln 7, Col 25 Spaces: 4 UTF-8 CRLF HTML
1074
+
1075
+ -------- Page 40 (Lecture #7-40.jpg) ---------
1076
+ عملي ( program#38.html )
1077
+
1078
+ Create Table
1079
+
1080
+ file:///C:/Users/Z10/Desktop/HTML%20language/F
1081
+
1082
+ Table (1) :
1083
+
1084
+ name age salary
1085
+ Ahmed 25 2400
1086
+ Ali 23 3200
1087
+ total 5600
1088
+
1089
+ -------- Page 41 (Lecture #7-41.jpg) ---------
1090
+ Thank you
data/8.txt ADDED
@@ -0,0 +1,1244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #8-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الانترنت
6
+ Introduction to Internet Programming
7
+
8
+ [ ITGS226 ]
9
+
10
+ المحاضرة الثامنة
11
+
12
+ أستاذة المادة
13
+ أ. وفاء حسين المصباحي
14
+
15
+ HTML5
16
+ CSS3
17
+ XML
18
+ PHP
19
+ Cloud
20
+ js
21
+ flat
22
+ header
23
+ .com
24
+ footer
25
+ .net
26
+
27
+ ربيع 2025
28
+
29
+ -------- Page 2 (Lecture #8-02.jpg) ---------
30
+ المواضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
31
+ Introduction to Internet Pr ogramming
32
+ المحاضرة الثامنة
33
+
34
+ 1
35
+ Forms . النماذج
36
+
37
+ -------- Page 3 (Lecture #8-03.jpg) ---------
38
+ Forms النماذج
39
+
40
+ - النموذج أو الإستماراة Form يستخدم لتجميع مجموعة مختلفة من مدخلات المستخدم user iputs مثل : الإسم name الإيميل email address ورقم الهاتف phone number أو معلومات عن بطاقة الإئتمان credit card .
41
+
42
+ : الشكل العام
43
+
44
+ <form>
45
+ .
46
+ .
47
+ .
48
+ </form>
49
+
50
+ - الوسم <form> يحتوي على أنواع مختلفة من المدخلات input مثل : text fields و checkboxes و radio buttons و submit buttons وغيرها... تسمى controls.
51
+
52
+ - المستخدمون users يقومون بإكمال النموذج form بإستخدام controls مثل إدخال text أو إختيار item وغيرها ويرسل مدخلات النموذج إلى web server ليقوم بمعالجتها.
53
+
54
+ -------- Page 4 (Lecture #8-04.jpg) ---------
55
+ Forms النماذج
56
+
57
+ سمات/خصائص Attributes لعنصر النموذج Form :
58
+
59
+ - خاصية action : التي تحدد اسم الملف البرمجي الذي سيقوم بمعالجة البيانات المدخلة في النموذج ويكون الملف البرمجي مكتوبا بإحدى لغات البرمجة مثل PHP أو ASP.NET أو JSP وغيرها.
60
+
61
+ - خاصية method : التي تحدد طريقة إرسال البيانات إلى الملف البرمجي المذكور سابقا بإحدى الطريقتين:
62
+
63
+ • الطريقة get حيث يتم إرسال البيانات في شريط العنوان في المستعرض بعد اسم الملف البرمجي بشكل أزواج ( مفتاح=قيمة ) انظر للرابط التالي على سبيل المثال:
64
+
65
+ http://www.site.com/file.php?name=Mukhtar&age=23&job=ComputerEngin
66
+
67
+ القيم المرسلة الملف البرمجي
68
+
69
+ • الطريقة post حيث يتم إرسال البيانات بشكل غير ظاهر في شريط العنوان ( يتم إرسالها مع ترويسة طلب HTTP ).
70
+
71
+ -------- Page 5 (Lecture #8-05.jpg) ---------
72
+ Forms النماذج
73
+
74
+ - خاصية name : التي تخصص اسم للنموذج Form ، والذي يجب أن يكون الإسم فريد عن بقية أسماء النماذج Forms في الوثيقة document ويجب ألا يكون فاضي empty .
75
+
76
+ - خاصية target : تحدد أين سيتم عرض النتيجة التي ستسلم بعد تقديم النموذج Form ، القيم المحتملة : _blank ، _self ، _parent ، _top .
77
+ 3
78
+
79
+ -------- Page 6 (Lecture #8-06.jpg) ---------
80
+ Forms النماذج
81
+
82
+ : Form elements عناصر النموذج
83
+ • <fieldset> & <legend>
84
+ • <label>
85
+ • <input> & its types & its attributes
86
+ • <textarea>
87
+ • <select> & <option> & <optgroup>
88
+ • <datalist>
89
+ • <button>
90
+
91
+ 4
92
+
93
+ -------- Page 7 (Lecture #8-07.jpg) ---------
94
+ Forms النماذج
95
+
96
+ <fieldset> & <legend>
97
+
98
+ • The <fieldset> element is used to group related data in a form.
99
+
100
+ • The <fieldset> tag draws a box around the related elements.
101
+
102
+ • The <legend> element defines a caption for the <fieldset> element.
103
+
104
+ 5
105
+
106
+ -------- Page 8 (Lecture #8-08.jpg) ---------
107
+ Forms النماذج
108
+
109
+ <label>
110
+
111
+ • The <label> tag defines a label for several elements such as input, textarea, select, etc.
112
+
113
+ • labels will benefit screen reader users (will read out loud the label, when the user is focused on the element) and users who have difficulty clicking on very small regions (such as checkboxes) - because when a user clicks the text within the <label> element, it toggles the input (this increases the hit area).
114
+
115
+ • The for attribute of <label> must be equal to the id attribute of the related element to bind them together.
116
+
117
+ • A label can also be bound to an element by placing the element inside the <label> element.
118
+
119
+ 6
120
+
121
+ -------- Page 9 (Lecture #8-09.jpg) ---------
122
+ Forms النماذج
123
+
124
+ <input>
125
+
126
+ • This is the most commonly used element within HTML forms.
127
+
128
+ • An input element can be of type text field, password field, checkbox, radio button, submit button, reset button, file select box, as well as several new input types introduced in HTML5.
129
+
130
+ • The default value of the type attribute is "text".
131
+
132
+ 7
133
+
134
+ -------- Page 10 (Lecture #8-10.jpg) ---------
135
+ Forms
136
+ النماذج
137
+
138
+ <input type="">
139
+
140
+ • <input type="text">
141
+ • <input type="password">
142
+ • <input type="hidden">
143
+ • <input type="submit">
144
+ • <input type="reset">
145
+ • <input type="button">
146
+ • <input type="image">
147
+ • <input type="radio">
148
+ • <input type="checkbox">
149
+ • <input type="file">
150
+ • <input type="date">
151
+
152
+ • <input type="datetime-local">
153
+ • <input type="time">
154
+ • <input type="week">
155
+ • <input type="month">
156
+ • <input type="search">
157
+ • <input type="tel">
158
+ • <input type="url">
159
+ • <input type="email">
160
+ • <input type="number">
161
+ • <input type="range">
162
+ • <input type="color">
163
+
164
+ 8
165
+
166
+ -------- Page 11 (Lecture #8-11.jpg) ---------
167
+ Forms النماذج
168
+
169
+ <input type="">
170
+
171
+ ► <input type="text">
172
+ defines a single-line text input field.
173
+
174
+ ► <input type="password">
175
+ defines a password field. The characters in a password field
176
+ are masked (shown as asterisks or circles).
177
+
178
+ ► The <input type="hidden">
179
+ defines a hidden input field (not visible to a user). This
180
+ field let web developers include data that cannot be seen
181
+ or modified by users when a form is submitted.
182
+
183
+ ► <input type="submit">
184
+ defines a button for submitting form data to a form-handler
185
+ which is typically a server page with a script for processing
186
+ input data that is specified in the form's action attribute.
187
+
188
+ ► <input type="reset">
189
+ defines a reset button that will reset all form values to
190
+ their default values.
191
+
192
+ ► <input type="button">
193
+ defines a button, mostly used with a JavaScript to
194
+ activate a script inside a <button>.
195
+
196
+ ► <input type="image">
197
+ defines an image as a submit button. The path to the
198
+ image is specified in the src attribute.
199
+
200
+ ► <input type="radio">
201
+ defines a radio button. Radio buttons let a user select
202
+ ONLY ONE of a limited number of choices. The radio
203
+ group must have share the same name (the value of
204
+ the name attribute) to be treated as a group. To make a
205
+ radio button selected by default, add the attribute
206
+ checked to the input element.
207
+
208
+ 9
209
+
210
+ -------- Page 12 (Lecture #8-12.jpg) ---------
211
+ Forms النماذج
212
+
213
+ <input type="">
214
+ ▶ <input type="checkbox">
215
+ defines a checkbox. Checkboxes let a user select ZERO or MORE options of a limited number of choices. The name is used to group multiple checkboxes together. To make a checkbox selected by default, add the attribute checked to the input element.
216
+
217
+ ▶ <input type="file">
218
+ defines a file-select field and a "Browse" button for file uploads. It allows a user to browse for a local file and send it as an attachment with the form data. It has the attribute accept that specifies a filter for what file types the user can pick from the file input dialog box e.g. <input accept="audio/*,video/*,image/*"> or <input accept=".jpg">.
219
+
220
+ ▶ <input type="date">
221
+ is used for input fields that should contain a date. The resulting value includes the year, month and day.
222
+
223
+ ▶ <input type="datetime-local">
224
+ specifies a date and time input field, with no time zone. The resulting value includes the year, month, day and time.
225
+
226
+ ▶ <input type="time">
227
+ allows the user to select a time (no time zone).
228
+
229
+ ▶ <input type="week">
230
+ allows the user to select a week and year.
231
+
232
+ ▶ <input type="month">
233
+ allows the user to select a month and year. The format is "YYYY-MM".
234
+
235
+ ▶ The <input type="search">
236
+ is used for search fields (a search field behaves like a regular text field).
237
+
238
+ 10
239
+
240
+ -------- Page 13 (Lecture #8-13.jpg) ---------
241
+ Forms النماذج
242
+
243
+ <input type="">
244
+
245
+ - The <input type="tel">
246
+ is used for input fields that should contain a telephone number.
247
+
248
+ - The <input type="url">
249
+ is used for input fields that should contain a URL address.
250
+
251
+ - <input type="email">
252
+ is used for input fields that should contain an e-mail address. The input value is automatically validated to ensure it is a properly formatted e-mail address.
253
+
254
+ - <input type="number">
255
+ defines a numeric input field. Restrictions can be set using the attributes: max, min, step or value.
256
+
257
+ - The <input type="range">
258
+ defines a control for entering a number whose exact value is not important (like a slider control). Default range is 0 to 100. However, you can set restrictions on what numbers are accepted with the min, max, and step attributes
259
+
260
+ - <input type="color">
261
+ used for input fields that should contain a color. The default value is #000000 (black).
262
+
263
+ 11
264
+
265
+ -------- Page 14 (Lecture #8-14.jpg) ---------
266
+ Forms
267
+ النماذج
268
+
269
+ : input عناصر Attributes سمات/خصائص
270
+
271
+ Attribute Value Description
272
+ name text Specifies the name of an <input> element
273
+ required required Specifies that an input field must be filled out before submitting the form
274
+ autofocus autofocus Specifies that an <input> element should automatically get focus when the page loads
275
+ readonly readonly Specifies that an input field is read-only
276
+ disabled disabled Specifies that an <input> element should be disabled
277
+ placeholder text Specifies a short hint that describes the expected value of an <input> element
278
+
279
+ autocomplete on Specifies whether an <input> element should have autocomplete enabled
280
+ off
281
+
282
+ accept file_extension Specifies a filter for what file types the user can pick from the file input dialog box (only for type="file")
283
+ audio/*
284
+ video/*
285
+ image/*
286
+
287
+ checked checked Specifies that an <input> element should be pre-selected when the page loads (for type="checkbox" or type="radio")
288
+
289
+ max number Specifies the maximum value for an <input> element
290
+ date
291
+
292
+ maxlength number Specifies the maximum number of characters allowed in an <input> element
293
+
294
+ min number Specifies a minimum value for an <input> element
295
+ date
296
+
297
+ minlength number Specifies the minimum number of characters required in an <input> element
298
+
299
+ multiple multiple Specifies that a user can enter more than one value in an <input> element
300
+
301
+ pattern regexp Specifies a regular expression that an <input> element's value is checked against
302
+
303
+ size number Specifies the width, in characters, of an <input> element
304
+
305
+ step number Specifies the interval between legal numbers in an input field
306
+
307
+ value text Specifies the value of an <input> element
308
+
309
+ 12
310
+
311
+ -------- Page 15 (Lecture #8-15.jpg) ---------
312
+ Forms النماذج
313
+
314
+ - (1)مثال: نموذج Form يحتوي على عناصر إدخال input element مختلفة.
315
+
316
+ <html lang="en">
317
+ <head>
318
+ <title> form </title>
319
+ <meta charset='utf-8'>
320
+ </head>
321
+ <body>
322
+ <form>
323
+ <input type="text">
324
+ <input type="number">
325
+ <input type="password">
326
+ <input type="email">
327
+ <input type="tel">
328
+ </form>
329
+ </body>
330
+ </html>
331
+
332
+ 13
333
+
334
+ -------- Page 16 (Lecture #8-16.jpg) ---------
335
+ ( program#40.html ) عملي
336
+
337
+ EXPLORER
338
+ HTML LANGUAGE
339
+ program#27.html
340
+ program#28.html
341
+ program#29.html
342
+ program#30.html
343
+ program#31.html
344
+ program#32.html
345
+ program#33.html
346
+ program#34.html
347
+ program#35.html
348
+ program#36.html
349
+ program#37.html
350
+ program#38.html
351
+ program#39.html
352
+ program#40.html
353
+
354
+ OUTLINE
355
+ TIMELINE
356
+
357
+ program#40.html
358
+
359
+ HTML language
360
+
361
+ <html lang="en">
362
+ <head>
363
+ <title> form </title>
364
+ <meta charset="utf-8">
365
+ </head>
366
+ <body>
367
+ <form>
368
+ <input type="text">
369
+ <input type="number">
370
+ <input type="password">
371
+ <input type="email">
372
+ <input type="tel">
373
+ </form>
374
+ </body>
375
+ </html>
376
+
377
+ Ln 8, Col 22 Spaces: 4 UTF-8 CRLF HTML
378
+
379
+ 14
380
+
381
+ -------- Page 17 (Lecture #8-17.jpg) ---------
382
+ ( program#40.html ) عملي
383
+
384
+ form
385
+ file:///C:/Users/Z10/Desktop/HTML%20langu...
386
+
387
+ form
388
+ file:///C:/Users/Z10/Desktop/HTML%20langu...
389
+
390
+ wafa elmisbahi 0
391
+ 925276841
392
+ *****
393
+ wafa@yahoo.com
394
+
395
+ 15
396
+
397
+ -------- Page 18 (Lecture #8-18.jpg) ---------
398
+ Forms النماذج
399
+
400
+ - مثال(2): لعمل نموذج Form لتسجيل الدخول login .
401
+
402
+ <html lang="en">
403
+ <head>
404
+ <title> form2 </title>
405
+ <meta charset='utf-8'>
406
+ </head>
407
+ <body>
408
+ <form>
409
+ <label>user name</label>
410
+ <input type="text">
411
+ <br/>
412
+ <label>pass word</label>
413
+ <input type="password">
414
+ <br/>
415
+ <input type="submit">
416
+ </form>
417
+ </body>
418
+ </html>
419
+
420
+ 16
421
+
422
+ -------- Page 19 (Lecture #8-19.jpg) ---------
423
+ ( program#41.html ) عملي
424
+
425
+ EXPLORER
426
+ HTML LANGUAGE
427
+ program#28.html
428
+ program#29.html
429
+ program#30.html
430
+ program#31.html
431
+ program#32.html
432
+ program#33.html
433
+ program#34.html
434
+ program#35.html
435
+ program#36.html
436
+ program#37.html
437
+ program#38.html
438
+ program#39.html
439
+ program#40.html
440
+ program#41.html
441
+
442
+ OUTLINE
443
+ TIMELINE
444
+
445
+ program#41.html
446
+ program#41.html > html > body > form
447
+
448
+ 1 <html lang="en">
449
+ 2 <head>
450
+ 3 <title> form2 </title>
451
+ 4 <meta charset='utf-8'>
452
+ 5 </head>
453
+ 6 <body>
454
+ 7 <form>
455
+ 8 <label>user name</label>
456
+ 9 <input type="text">
457
+ 10 <br/>
458
+ 11 <label>pass word</label>
459
+ 12 <input type="password">
460
+ 13 <br/>
461
+ 14 <input type="submit">
462
+ 15 </form>
463
+ 16 </body>
464
+ 17 </html>
465
+
466
+ Ln 7, Col 15 Spaces: 4 UTF-8 CRLF HTML
467
+
468
+ -------- Page 20 (Lecture #8-20.jpg) ---------
469
+ ( program#41.html ) عملي
470
+
471
+ form2
472
+
473
+ user name [____________________]
474
+ pass word [____________________]
475
+ Submit
476
+
477
+ form2
478
+
479
+ user name ahmed [__________]
480
+ pass word ••••• [__________]
481
+ Submit
482
+
483
+ 18
484
+
485
+ -------- Page 21 (Lecture #8-21.jpg) ---------
486
+ Forms
487
+ النماذج
488
+
489
+ - مثال(3): المثال السابق بالإضافة إلى ربط input بـ label باستخدام الخاصيتين for و id، وجعل تعبئة
490
+ البيانات إجباري بإستخدام الخاصية required، وإضافة إسم للزر بإستخدام خاصية value.
491
+
492
+ <html lang="en">
493
+ <head>
494
+ <title> form3 </title>
495
+ <meta charset="utf-8">
496
+ </head>
497
+ <body>
498
+ <form>
499
+ <label for="txt">user name</label>
500
+ <input id="txt" type="text" required>
501
+ <br/>
502
+ <label for="pass">pass word</label>
503
+ <input id="pass" type="password" required>
504
+ <br/>
505
+ <input type="submit" value="save">
506
+ </form>
507
+ </body>
508
+ </html>
509
+
510
+ 19
511
+
512
+ -------- Page 22 (Lecture #8-22.jpg) ---------
513
+ عملي ( program#42.html )
514
+
515
+ File Edit Selection …
516
+
517
+ EXPLORER
518
+
519
+ HTML LANGUAGE
520
+ program#28.html
521
+ program#29.html
522
+ program#30.html
523
+ program#31.html
524
+ program#32.html
525
+ program#33.html
526
+ program#34.html
527
+ program#35.html
528
+ program#36.html
529
+ program#37.html
530
+ program#38.html
531
+ program#39.html
532
+ program#40.html
533
+ program#41.html
534
+ program#42.html
535
+
536
+ OUTLINE
537
+ TIMELINE
538
+
539
+ program#42.html ×
540
+
541
+ program#42.html > html > body > form > br
542
+
543
+ <html lang="en">
544
+ <head>
545
+ <title> form3 </title>
546
+ <meta charset="utf-8">
547
+ </head>
548
+ <body>
549
+ <form>
550
+ <label for="txt">user name</label>
551
+ <input id="txt" type="text" required>
552
+ <br/>
553
+ <label for="pass">pass word</label>
554
+ <input id="pass" type="password" required>
555
+ <br/>
556
+ <input type="submit" value="save">
557
+ </form>
558
+ </body>
559
+ </html>
560
+
561
+ Ln 10, Col 18 Spaces: 4 UTF-8 CRLF HTML
562
+
563
+ 20 0 0
564
+
565
+ -------- Page 23 (Lecture #8-23.jpg) ---------
566
+ عملي ( program#42.html )
567
+
568
+ form3
569
+
570
+ user name
571
+ pass word
572
+ save
573
+
574
+ عند الضغط على label ينتقلنا إلى textbox
575
+
576
+ form3
577
+
578
+ user name
579
+ pass word
580
+ save
581
+
582
+ Please fill out this field.
583
+
584
+ عندما لا يتم تعبئة البيانات عند الضغط على زر save تظهر هذه الرسالة وذلك بسبب إستخدام خاصية required
585
+
586
+ 21
587
+
588
+ -------- Page 24 (Lecture #8-24.jpg) ---------
589
+ Forms
590
+ النماذج
591
+
592
+ - مثال (4): لعمل مربع بداخل form وعمل عنوان لـ form ، باستخدام العناصر <fieldset> و <legend>.
593
+
594
+ <html lang="en">
595
+ <head>
596
+ <title> form4 </title>
597
+ <meta charset='utf-8'>
598
+ </head>
599
+ <body>
600
+ <form>
601
+ <fieldset>
602
+ <legend> login </legend>
603
+ <label for="txt">user name</label>
604
+ <input id="txt" type="text" required>
605
+ <br/>
606
+ <label for="pass">pass word</label>
607
+ <input id="pass" type="password" required>
608
+ <br/>
609
+ <input type="submit" value="save">
610
+ </fieldset>
611
+ </form>
612
+ </body>
613
+ </html>
614
+
615
+ 22
616
+
617
+ -------- Page 25 (Lecture #8-25.jpg) ---------
618
+ عملي ( program#43.html )
619
+
620
+ EXPLORER
621
+ HTML LANGUAGE
622
+ program#29.html
623
+ program#30.html
624
+ program#31.html
625
+ program#32.html
626
+ program#33.html
627
+ program#34.html
628
+ program#35.html
629
+ program#36.html
630
+ program#37.html
631
+ program#38.html
632
+ program#39.html
633
+ program#40.html
634
+ program#41.html
635
+ program#42.html
636
+ program#43.html
637
+
638
+ HTML language
639
+
640
+ program#43.html x
641
+ program#43.html > html > body > form
642
+
643
+ <html lang="en">
644
+ <head>
645
+ <title> form4 </title>
646
+ <meta charset='utf-8'>
647
+ </head>
648
+ <body>
649
+ <form>
650
+ <fieldset>
651
+ <legend> login </legend>
652
+ <label for="txt">user name</label>
653
+ <input id="txt" type="text" required>
654
+ <br/>
655
+ <label for="pass">pass word</label>
656
+ <input id="pass" type="password" required>
657
+ <br/>
658
+ <input type="submit" value="save">
659
+ </fieldset>
660
+ </form>
661
+ </body>
662
+ </html>
663
+
664
+ OUTLINE
665
+ TIMELINE
666
+
667
+ 23
668
+
669
+ -------- Page 26 (Lecture #8-26.jpg) ---------
670
+ ( program#43.html ) عملي
671
+
672
+ form4
673
+
674
+ login
675
+ user name ______________________
676
+ pass word ______________________
677
+ save
678
+
679
+ 24
680
+
681
+ -------- Page 27 (Lecture #8-27.jpg) ---------
682
+ Forms
683
+ النماذج
684
+
685
+ - مثال(5): المثال السابق مع إضافة الخاصيتين action و method إلى وسم <form>.
686
+
687
+ <html lang="en">
688
+ <head>
689
+ <title> form5 </title>
690
+ <meta charset='utf-8'>
691
+ </head>
692
+ <body>
693
+ <form method="get" action="file.php">
694
+ <fieldset>
695
+ <legend> login </legend>
696
+ <label for="txt">user name</label>
697
+ <input id="txt" type="text" required>
698
+ <br/>
699
+ <label for="pass">pass word</label>
700
+ <input id="pass" type="password" required>
701
+ <br/>
702
+ <input type="submit" value="save">
703
+ </fieldset>
704
+ </form>
705
+ </body>
706
+ </html>
707
+
708
+ 25
709
+
710
+ -------- Page 28 (Lecture #8-28.jpg) ---------
711
+ عملي ( program#44.html )
712
+
713
+ EXPLORER
714
+ HTML LANGUAGE
715
+ program#30.html
716
+ program#31.html
717
+ program#32.html
718
+ program#33.html
719
+ program#34.html
720
+ program#35.html
721
+ program#36.html
722
+ program#37.html
723
+ program#38.html
724
+ program#39.html
725
+ program#40.html
726
+ program#41.html
727
+ program#42.html
728
+ program#43.html
729
+ program#44.html
730
+
731
+ OUTLINE
732
+ TIMELINE
733
+
734
+ program#44.html
735
+ HTML language
736
+
737
+ program#44.html > html > body > form > fieldset > input#txt
738
+
739
+ 1 <html lang="en">
740
+ 2 <head>
741
+ 3 <title> form5 </title>
742
+ 4 <meta charset="utf-8">
743
+ 5 </head>
744
+ 6 <body>
745
+ 7 <form method="get" action="file.php">
746
+ 8 <fieldset>
747
+ 9 <legend> login </legend>
748
+ 10 <label for="txt">user name</label>
749
+ 11 <input id="txt" type="text" required>
750
+ 12 <br/>
751
+ 13 <label for="pass">pass word</label>
752
+ 14 <input id="pass" type="password" required>
753
+ 15 <br/>
754
+ 16 <input type="submit" value="save">
755
+ 17 </fieldset>
756
+ 18 </form>
757
+ 19 </body>
758
+ 20 </html>
759
+
760
+ Ln 11, Col 33 Spaces: 4 UTF-8 CRLF HTML
761
+
762
+ 26
763
+
764
+ -------- Page 29 (Lecture #8-29.jpg) ---------
765
+ عملي ( program#44.html )
766
+
767
+ login
768
+ user name
769
+ pass word
770
+ save
771
+
772
+ عند الضبط على save يتم إرسال البيانات إلى ملف file.php
773
+
774
+ form5
775
+
776
+ login
777
+ user name
778
+ pass word
779
+ save
780
+
781
+ file:///C:/Users/Z10/Desktop/HTML%20language/...
782
+
783
+ تظهر البيانات المرسلة في URL بجانب اسم الملف file.php ولكن لكي لا تظهر البيانات يتم تغيير قيمة الخاصة method="post"
784
+
785
+ 27
786
+
787
+ -------- Page 30 (Lecture #8-30.jpg) ---------
788
+ النماذج Forms
789
+
790
+ مثال (6):
791
+
792
+ <html lang="ar">
793
+ <head>
794
+ <title> نموذج 6 </title>
795
+ <meta charset="utf-8">
796
+ </head>
797
+ <body dir="rtl">
798
+ <form method="get" action="file.php">
799
+ <fieldset>
800
+ <legend> تسجيل </legend>
801
+ <label for="txt"> : الاسم </label>
802
+ <input id="txt" name="txt" type="text" required>
803
+ <br/>
804
+ <label for="pass"> : كلمة المرور </label>
805
+ <input id="pass" name="pass" type="password" required>
806
+ <br/>
807
+ <label for="pic"> : الصورة الشخصية </label>
808
+ <input id="pic" name="pic" type="file" required>
809
+ <br/>
810
+ <input id="resBtn" name="resBtn" type="reset" value="استعادة">
811
+ <br/>
812
+ <input id="okButton" name="okButton" type="submit" value="موافق">
813
+ </fieldset>
814
+ </form>
815
+ </body>
816
+ </html>
817
+
818
+ 28
819
+
820
+ -------- Page 31 (Lecture #8-31.jpg) ---------
821
+ عملي ( program#45.html )
822
+
823
+ EXPLORER
824
+
825
+ HTML LANGUAGE
826
+ program#31.html
827
+ program#32.html
828
+ program#33.html
829
+ program#34.html
830
+ program#35.html
831
+ program#36.html
832
+ program#37.html
833
+ program#38.html
834
+ program#39.html
835
+ program#40.html
836
+ program#41.html
837
+ program#42.html
838
+ program#43.html
839
+ program#44.html
840
+ program#45.html
841
+
842
+ OUTLINE
843
+ TIMELINE
844
+
845
+ program#45.html
846
+
847
+ program#45.html > html > body > form > fieldset > input#resBtn
848
+
849
+ 1 <html lang="ar">
850
+ 2 <body dir="rtl">
851
+ 3 <form>
852
+ 4
853
+ 8 <fieldset>
854
+ 11 <input id="txt" name="txt" type="text" required>
855
+ 12 <br/>
856
+ 13 <label for="pass"> كلمة المرور : </label>
857
+ 14 <input id="pass" name="pass" type="password" requi
858
+ 15
859
+ 16 <br/>
860
+ 17 <label for="pic"> الصورة الشخصية : </label>
861
+ 18 <input id="pic" name="pic" type="file" required>
862
+ 19 <br/>
863
+ 19 <input id="resBtn" name="resBtn" type="reset" valu
864
+ 20 <input id="okButton" name="okButton" type="submit"
865
+ 21 </fieldset>
866
+ 22 </form>
867
+ 23
868
+ 24 </body>
869
+ 25 </html>
870
+
871
+ Ln 19, Col 79 Spaces: 4 UTF-8 CRLF HTML
872
+
873
+ 29
874
+
875
+ 0 0 Δ 0
876
+
877
+ -------- Page 32 (Lecture #8-32.jpg) ---------
878
+ عملي ( program#45.html )
879
+
880
+ نموذج 6
881
+
882
+ تسجيل
883
+ الاسم :
884
+ كلمة المرور :
885
+ الصورة الشخصية :
886
+
887
+ No file chosen Choose File
888
+
889
+ موافق استعادة
890
+
891
+ زر لإعادة ضبط القيم الافتراضية لعناصر الإدخال كاملة في النموذج form
892
+
893
+ 30
894
+
895
+ -------- Page 33 (Lecture #8-33.jpg) ---------
896
+ النماذج Forms
897
+
898
+ - مثال :(7)
899
+
900
+ عناصر الإختيار radio و checkbox:
901
+
902
+ يتم إستعمال هذه العناصر في النماذج لتمكين المستخدم من الإجابة على سؤال محدد:
903
+
904
+ ▪ العنصر radio: يتم إختيار إجابة واحدة فقط من عدة إجابات محتملة.
905
+
906
+ ▪ العنصر checkbox: يتم إختيار أكثر من إجابة على سؤال محدد.
907
+
908
+ ويتم إستخدام هذه العناصر بنفس طريقة إستخدام العناصر السابقة مع ملاحظة: إعطاء جميع العناصر التي تمثل إجابة لنفس السؤال القيمة الخاصة name وقيمًا مختلفة للخاصية value.
909
+
910
+ 31
911
+
912
+ -------- Page 34 (Lecture #8-34.jpg) ---------
913
+ Forms النماذج
914
+
915
+ تابع.
916
+
917
+ <html lang=“ar”>
918
+ <head>
919
+ <title> radio and checkbox </title>
920
+ <meta charset=“utf-8”>
921
+ </head>
922
+ <body dir=“rtl”>
923
+ <form method=“post” action=“file.php”>
924
+ <fieldset>
925
+ <legend> : أحب عن الأسئلة التالية </legend>
926
+ <p> ؟ من أين علمت عن موقعنا </p>
927
+ <label>جريدة</label>
928
+ <input type=“checkbox” name=“wrknow ” value=“nPaper”>
929
+ <label>موقع إلكتروني</label>
930
+ <input type=“checkbox” name=“wrknow ” value=“wbSite”>
931
+ <label>صديق</label>
932
+ <input type=“checkbox” name=“wrknow ” value=“frnd”>
933
+ <label>محرك بحث</label>
934
+ <input type=“checkbox” name=“wrknow ” value=“srEng”>
935
+ <p> ؟ ما تقييمك لموقعنا </p>
936
+ <label>جيد</label>
937
+ <input type=“radio” name=“rate ” value=“good”>
938
+ <label>متوسط</label>
939
+ <input type=“radio” name=“rate ” value=“mid”>
940
+ <label>سيء</label>
941
+ <input type=“radio” name=“rate ” value=“bad”>
942
+ </fieldset>
943
+ </form>
944
+ </body>
945
+ </html>
946
+
947
+ 32
948
+
949
+ -------- Page 35 (Lecture #8-35.jpg) ---------
950
+ عملي ( program#46.html )
951
+
952
+ EXPLORER
953
+ HTML LANGUAGE
954
+ program#32.html
955
+ program#33.html
956
+ program#34.html
957
+ program#35.html
958
+ program#36.html
959
+ program#37.html
960
+ program#38.html
961
+ program#39.html
962
+ program#40.html
963
+ program#41.html
964
+ program#42.html
965
+ program#43.html
966
+ program#44.html
967
+ program#45.html
968
+ program#46.html
969
+
970
+ OUTLINE
971
+ TIMELINE
972
+
973
+ program#46.html
974
+ program#46.html html
975
+ <html lang="ar">
976
+ <body dir="rtl">
977
+ <form>
978
+ <fieldset>
979
+ <label> جريدة </label>
980
+ <input type="checkbox" name="wrknow" value="nPape">
981
+ <label> موقع إلكتروني </label>
982
+ <input type="checkbox" name="wrknow" value="wbSite">
983
+ <label> صديق </label>
984
+ <input type="checkbox" name="wrknow" value="frnd">
985
+ <label> محرك بحث </label>
986
+ <input type="checkbox" name="wrknow" value="srEng">
987
+ <p> ما تقييمك لموقعنا ؟ </p>
988
+ <label> جيد </label>
989
+ <input type="radio" name="rate" value="good">
990
+ <label> متوسط </label>
991
+ <input type="radio" name="rate" value="mid">
992
+ <label> سيء </label>
993
+ <input type="radio" name="rate" value="bad">
994
+ </fieldset>
995
+ </form>
996
+ </body>
997
+ </html>
998
+
999
+ HTML language
1000
+ Ln 1, Col 13 Spaces: 4 UTF-8 CRLF HTML
1001
+
1002
+ 33
1003
+ x 0 Δ 0
1004
+
1005
+ -------- Page 36 (Lecture #8-36.jpg) ---------
1006
+ عملي ( program#46.html )
1007
+
1008
+ radio and checkbox
1009
+
1010
+ file:///C:/Users/Z10/Desktop/HTML%20language/…
1011
+
1012
+ أجب عن الأسئلة التالية :
1013
+ من أين علمت عن موقعنا ؟
1014
+ جريدة موقع إلكتروني صديق محرك بحث
1015
+ ما تقييمك لموقعنا ؟
1016
+ جيد متوسط سيء
1017
+ 34
1018
+
1019
+ -------- Page 37 (Lecture #8-37.jpg) ---------
1020
+ عملي ( program#46.html )
1021
+
1022
+ radio and checkbox
1023
+
1024
+ file:///C:/Users/Z10/Desktop/HTML%20language/...
1025
+
1026
+ أجب عن الأسئلة التالية: -
1027
+
1028
+ من أين علمت عن موقعنا ؟
1029
+ جريدة ☑ موقع إلكتروني صديق □ محرك بحث □
1030
+
1031
+ ما تقييمك لموقعنا ؟
1032
+ جيد ○ متوسط ○ سيء ○
1033
+
1034
+ العنصر checkbox : يتم إختيار أكثر من
1035
+ إجابة على سؤال محدد.
1036
+
1037
+ العنصر radio : يتم إختيار إجابة
1038
+ واحدة فقط من عدة إجابات
1039
+ محتملة.
1040
+
1041
+ 35
1042
+
1043
+ -------- Page 38 (Lecture #8-38.jpg) ---------
1044
+ Forms النماذج
1045
+
1046
+ - مثال (8):
1047
+
1048
+ نموذج Form يحتوي على عنصر القائمة المنسدلة <select> وعناصر القائمة يتم إدخالها عن طريق الوسم <option> ، وعملهم مشابه لعنصر radio من حيث اختيار إجابة واحدة فقط ويستخدم العنصر select في حالة وجود أجوبة كثيرة محتملة للسؤال.
1049
+
1050
+ ويتم تحديد أحد هذه العناصر كخيار افتراضي عن طريق تمرير الخاصية selected=“selected” في وسم بدايته.
1051
+
1052
+ 36
1053
+
1054
+ -------- Page 39 (Lecture #8-39.jpg) ---------
1055
+ Forms النماذج
1056
+
1057
+ تابع .
1058
+
1059
+ <html lang="ar">
1060
+ <head>
1061
+ <title> القائمة المنسدلة </title>
1062
+ <meta charset="utf-8">
1063
+ </head>
1064
+ <body dir="rtl">
1065
+ <form method="post" action="file.php">
1066
+ <p> من أي البلدان أنت ؟ </p>
1067
+ <select name="nationality">
1068
+ <option selected="selected"> ليبيا </option>
1069
+ <option> المغرب </option>
1070
+ <option> سوريا </option>
1071
+ <option> لبنان </option>
1072
+ <option> السعودية </option>
1073
+ <option> مصر </option>
1074
+ <option> تونس </option>
1075
+ </select>
1076
+ </form>
1077
+ </body>
1078
+ </html>
1079
+
1080
+ 37
1081
+
1082
+ -------- Page 40 (Lecture #8-40.jpg) ---------
1083
+ عملي ( program#47.html )
1084
+
1085
+ EXPLORER
1086
+ HTML LANGUAGE
1087
+ program#33.html
1088
+ program#34.html
1089
+ program#35.html
1090
+ program#36.html
1091
+ program#37.html
1092
+ program#38.html
1093
+ program#39.html
1094
+ program#40.html
1095
+ program#41.html
1096
+ program#42.html
1097
+ program#43.html
1098
+ program#44.html
1099
+ program#45.html
1100
+ program#46.html
1101
+ program#47.html
1102
+
1103
+ OUTLINE
1104
+ TIMELINE
1105
+
1106
+ program#47.html ×
1107
+ program#47.html > html > body > form > select
1108
+
1109
+ 1 <html lang="ar">
1110
+ 2 <head>
1111
+ 3 <title> القائمة المنسدلة </title>
1112
+ 4 <meta charset="utf-8">
1113
+ 5 </head>
1114
+ 6 <body dir="rtl">
1115
+ 7 <form>
1116
+ 8 <p> من أي البلدان أنت ؟ </p>
1117
+ 9 <select name="nationality">
1118
+ 10 <option selected="selected"> ليبيا </option>
1119
+ 11 <option> المغرب </option>
1120
+ 12 <option> سوريا </option>
1121
+ 13 <option> لبنان </option>
1122
+ 14 <option> السعودية </option>
1123
+ 15 <option> مصر </option>
1124
+ 16 <option> تونس </option>
1125
+ 17 </select>
1126
+ 18 </form>
1127
+ 19 </body>
1128
+ 20 </html>
1129
+
1130
+ Ln 17, Col 22 Spaces: 4 UTF-8 CRLF HTML
1131
+ 38
1132
+
1133
+ -------- Page 41 (Lecture #8-41.jpg) ---------
1134
+ ( program#47.html ) عملي
1135
+
1136
+ القائمة المنسدلة
1137
+
1138
+ file:///C:/Users/Z10/Desktop/HTML%20language/...
1139
+
1140
+ من أي البلدان أنت؟
1141
+
1142
+ ليبيا
1143
+
1144
+ القائمة المنسدلة
1145
+
1146
+ file:///C:/Users/Z10/Desktop/HTML%20language/...
1147
+
1148
+ من أي البلدان أنت؟
1149
+
1150
+ ليبيا
1151
+ المغرب
1152
+ سوريا
1153
+ لبنان
1154
+ فلسطين
1155
+ مصر
1156
+ الأردن
1157
+
1158
+ 39
1159
+
1160
+ -------- Page 42 (Lecture #8-42.jpg) ---------
1161
+ Forms النماذج
1162
+
1163
+ - مثال(9):
1164
+
1165
+ نموذج Form يحتوي على عنصر <textarea> والذي يستخدم لإدخال قيمة نصية متعددة الأسطر على عكس العنصر <input> من نوع text والذي يستخدم لإدخال قيمة نصية وحيدة السطر.
1166
+ يستخدم العنصر <textarea> الخاصيتان cols و rows لتحديد عرضه وإرتفاعه.
1167
+
1168
+ <html lang="ar">
1169
+ <head>
1170
+ <title> textarea </title>
1171
+ <meta charset="utf-8">
1172
+ </head>
1173
+ <body dir="rtl">
1174
+ <form method="post" action="file.php">
1175
+ <p> أكتب نبذة قصيرة عنك </p>
1176
+ <textarea cols="30" rows="10" name="bio"> </textarea>
1177
+ </form>
1178
+ </body>
1179
+ </html>
1180
+
1181
+ 40
1182
+
1183
+ -------- Page 43 (Lecture #8-43.jpg) ---------
1184
+ عملي ( program#48.html )
1185
+
1186
+ EXPLORER
1187
+ HTML LANGUAGE
1188
+ program#34.html
1189
+ program#35.html
1190
+ program#36.html
1191
+ program#37.html
1192
+ program#38.html
1193
+ program#39.html
1194
+ program#40.html
1195
+ program#41.html
1196
+ program#42.html
1197
+ program#43.html
1198
+ program#44.html
1199
+ program#45.html
1200
+ program#46.html
1201
+ program#47.html
1202
+ program#48.html
1203
+
1204
+ OUTLINE
1205
+ TIMELINE
1206
+
1207
+ program#48.html x
1208
+ program#48.html html body
1209
+ 1 <html lang="ar">
1210
+ 2 <head>
1211
+ 3 <title> textarea </title>
1212
+ 4 <meta charset='utf-8'>
1213
+ 5 </head>
1214
+ 6 <body dir="rtl">
1215
+ 7 <form>
1216
+ 8 <p> أكتب نبذة قصيرة عنك </p>
1217
+ 9 <textarea cols="30" rows="10" name="bio"> </textarea>
1218
+ 10 </form>
1219
+ 11 </body>
1220
+ 12 </html>
1221
+ 13
1222
+
1223
+ Ln 11, Col 12 Spaces: 4 UTF-8 CRLF HTML
1224
+
1225
+ 41
1226
+
1227
+ -------- Page 44 (Lecture #8-44.jpg) ---------
1228
+ ( program#48.html ) عملي
1229
+
1230
+ اكتب نبذة قصيرة عنك
1231
+
1232
+ 42
1233
+
1234
+ -------- Page 45 (Lecture #8-45.jpg) ---------
1235
+ عملي ( program#48.html )
1236
+
1237
+ كتـب نبذة تغيير عنك
1238
+
1239
+ الاسم : أحمد علي
1240
+ العمر : 25
1241
+ المادة : مقدمة في برمجة الإنترنت
1242
+
1243
+ -------- Page 46 (Lecture #8-46.jpg) ---------
1244
+ Thank you
data/9.txt ADDED
@@ -0,0 +1,356 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ -------- Page 1 (Lecture #9-01.jpg) ---------
3
+ Faculty of Information Technology – Tripoli University
4
+
5
+ مقدمة في برمجة الإنترنت
6
+ Introduction to Internet Programming
7
+ [ ITGS226 ]
8
+
9
+ المحاضرة التاسعة
10
+
11
+ أ. وفاء حسين المصباحي
12
+ أستاذة المادة
13
+
14
+ HTML5
15
+ CSS3
16
+ XML
17
+ JS
18
+ Cloud
19
+ flat
20
+ header
21
+ .com
22
+ footer
23
+ .net
24
+ PHP
25
+
26
+ 2025 ربيع
27
+
28
+ -------- Page 2 (Lecture #9-02.jpg) ---------
29
+ المواضيع التي سيتم دراستها في مقرر: مقدمة في برمجة الإنترنت
30
+ Introduction to Internet Programming
31
+ المحاضرة التاسعة
32
+
33
+ الحاوية Container.
34
+
35
+ 1 العناصر الدلالية SEMANTIC ELEMENTS.
36
+
37
+ العناصر الغير دلالية NON-SEMANTIC ELEMENTS.
38
+
39
+ -------- Page 3 (Lecture #9-03.jpg) ---------
40
+ المواضيع التي سيتم دراستها في مقرر : مقدمة في برمجة الإنترنت
41
+ Introduction to Internet Programming
42
+ المحاضرة التاسعة
43
+
44
+ XHTML
45
+
46
+ 1
47
+ قواعد XHTML.
48
+
49
+ تعريف نوع المستند <!DOCTYPE> .
50
+
51
+ -------- Page 4 (Lecture #9-04.jpg) ---------
52
+ Container الحاوية
53
+
54
+ - لكي لا يحدث تداخل تعمل container لكل جزء في code.
55
+ - لا تستطيع العمل بـ container إلا بإستخدام css.
56
+
57
+ Container
58
+ HTML - CSS
59
+
60
+ ملابس مواد غذائية هواتف الميناء
61
+
62
+ -------- Page 5 (Lecture #9-05.jpg) ---------
63
+ Container الحاوية
64
+
65
+ <h1>
66
+ <p>
67
+ <img>
68
+ <video>
69
+ .
70
+ .
71
+ .
72
+
73
+ container
74
+
75
+ 2
76
+
77
+ -------- Page 6 (Lecture #9-06.jpg) ---------
78
+ Container الحاوية
79
+
80
+ Container
81
+
82
+ SEMANTIC ELEMENTS
83
+ • <header>
84
+ • <nav>
85
+ • <section>
86
+ • <article>
87
+ • <aside>
88
+ • <footer>
89
+
90
+ NON-SEMANTIC ELEMENTS
91
+ • <div>
92
+ • <span>
93
+
94
+ 3
95
+
96
+ -------- Page 7 (Lecture #9-07.jpg) ---------
97
+ SEMANTIC ELEMENTS العناصر الدلالية
98
+
99
+ ▪ <header>
100
+ ▪ <nav>
101
+ ▪ <section>
102
+ ▪ <article>
103
+ ▪ <aside>
104
+ ▪ <footer>
105
+
106
+ <header>
107
+ <nav>
108
+ <section>
109
+ <article>
110
+ <aside>
111
+ <footer>
112
+
113
+ -------- Page 8 (Lecture #9-08.jpg) ---------
114
+ SEMANTIC ELEMENTS العناصر الدلالية
115
+
116
+ <HEADER>
117
+
118
+ ► The <header> element represents a container for introductory content or a set of navigational links.
119
+ ► A <header> element typically contains:
120
+ ▪ one or more heading elements (<h1> - <h6>).
121
+ ▪ logo or icon.
122
+ ▪ Authorship information.
123
+ ► It is a Block element that may contain block or inline or text content.
124
+ ► No <footer> or another <header> element as ancestors or descendants.
125
+
126
+ <header>
127
+ <h1>Tutorial Republic</h1>
128
+ <nav>
129
+ <p><a href="#">Home</a> |
130
+ <a href="#">About</a> |
131
+ <a href="#">Contact</a> </p>
132
+ </nav>
133
+ </header>
134
+
135
+ 5
136
+
137
+ -------- Page 9 (Lecture #9-09.jpg) ---------
138
+ SEMANTIC ELEMENTS العناصر الدلالية
139
+
140
+ <NAV>
141
+
142
+ • The <nav> element defines a section of navigation links (i.e. links to other pages or to parts within the page itself) in a document.
143
+
144
+ • It is a Block element that may contain block or inline or text content.
145
+
146
+ <nav>
147
+ <ul>
148
+ <li><a href="#">Home</a></li>
149
+ <li><a href="#">About</a></li>
150
+ <li><a href="#">Contact</a></li>
151
+ </ul>
152
+ </nav>
153
+
154
+ 6
155
+
156
+ -------- Page 10 (Lecture #9-10.jpg) ---------
157
+ SEMANTIC ELEMENTS العناصر الدلالية
158
+
159
+ <SECTION>
160
+
161
+ ► The <section> element defines a section in a document.
162
+
163
+ ► Examples of where a <section> element can be used:
164
+ • Chapters.
165
+ • Introduction.
166
+ • News items.
167
+ • Contact information.
168
+
169
+ ► A web page could normally be split into sections for introduction, content, and contact information.
170
+
171
+ ► It is a Block element that may contain block or inline or text content.
172
+
173
+ <section>
174
+ <h1>Welcome to Our Website</h1>
175
+ <p>Welcome and thank you. </p>
176
+ </section>
177
+
178
+ 7
179
+
180
+ -------- Page 11 (Lecture #9-11.jpg) ---------
181
+ SEMANTIC ELEMENTS العناصر الدلالية
182
+
183
+ <ARTICLE>
184
+
185
+ ► The <article> element specifies independent, self-contained content.
186
+
187
+ ► An article should make sense on its own, and it should be possible to distribute it independently from the rest of the web site.
188
+
189
+ ► Examples of where the <article> element can be used:
190
+ ▪ Forum posts.
191
+ ▪ Blog posts.
192
+ ▪ User comments.
193
+ ▪ Newspaper articles.
194
+
195
+ ► It is a Block element that may contain block or inline or text content.
196
+
197
+ <article>
198
+ <h1>Introduction to HTML</h1>
199
+ <p>HTML is a markup language.</p>
200
+ </article>
201
+
202
+ 8
203
+
204
+ -------- Page 12 (Lecture #9-12.jpg) ---------
205
+ SEMANTIC ELEMENTS العناصر الدلالية
206
+
207
+ <ASIDE>
208
+
209
+ • The <aside> element defines some content aside from the content it is placed in (like a sidebar).
210
+ • The <aside> content should be indirectly related to the surrounding content.
211
+ • It is a Block element that may contain block or inline or text content.
212
+
213
+ <aside>
214
+ <h1>Apollo 13 Facts</h1>
215
+ <p>Apollo 13 was the seventh manned mission in the American Apollo
216
+ space program and the third intended to land on the Moon.</p>
217
+ </aside>
218
+
219
+ 9
220
+
221
+ -------- Page 13 (Lecture #9-13.jpg) ---------
222
+ SEMANTIC ELEMENTS العناصر الدلالية
223
+
224
+ <ASIDE>
225
+
226
+ ► The <aside> element defines some content aside from the content it is placed in (like a sidebar).
227
+ ► The <aside> content should be indirectly related to the surrounding content.
228
+ ► It is a Block element that may contain block or inline or text content.
229
+
230
+ <aside>
231
+ <h1>Apollo 13 Facts</h1>
232
+ <p>Apollo 13 was the seventh manned mission in the American Apollo
233
+ space program and the third intended to land on the Moon.</p>
234
+ </aside>
235
+
236
+ 10
237
+
238
+ -------- Page 14 (Lecture #9-14.jpg) ---------
239
+ SEMANTIC ELEMENTS العناصر الدلالية
240
+
241
+ <FOOTER>
242
+
243
+ ► The <footer> element defines a footer for a document or section.
244
+
245
+ ► A <footer> element typically contains:
246
+ ▪ copyright information.
247
+ ▪ contact information.
248
+ ▪ back to top links.
249
+ ▪ related documents.
250
+
251
+ ► You can have several <footer> elements in one document.
252
+
253
+ ► It is a Block element that may contain block or inline or text content, but no <footer> or <header>.
254
+
255
+ <footer>
256
+ <nav>
257
+ <p><a href="#">Terms of Use</a> |
258
+ <a href="#">Privacy Policy</a>
259
+ </p>
260
+ </nav>
261
+ <p>Copyright © 2014 Tutorial Republic</p>
262
+ </footer>
263
+
264
+ 11
265
+
266
+ -------- Page 15 (Lecture #9-15.jpg) ---------
267
+ NON-SEMANTIC ELEMENTS العناصر الغير دلالية
268
+
269
+ ▪ <div>
270
+
271
+ ▪ <span>
272
+
273
+ 12
274
+
275
+ -------- Page 16 (Lecture #9-16.jpg) ---------
276
+ NON-SEMANTIC ELEMENTS العناصر غير دلالية
277
+
278
+ <DIV>
279
+
280
+ ► The <div> (short for division) tag is generic container for flow content, which has no default rendering or meaning.
281
+
282
+ ► The <div> tag is extensively used to define the structural sections of a document and to layout a web page using CSS.
283
+
284
+ ► It is a Block element that may contain block or inline or text content.
285
+
286
+ <div class="welcome-box">
287
+ <h1>Welcome</h1>
288
+ <p>Hi, welcome to our website.</p>
289
+ </div>
290
+
291
+ 13
292
+
293
+ -------- Page 17 (Lecture #9-17.jpg) ---------
294
+ NON-SEMANTIC ELEMENTS العناصر الغير دلالية
295
+
296
+ <SPAN>
297
+
298
+ ► The <span> tag is generic inline container for phrasing content, which has no default rendering or meaning.
299
+
300
+ ► The <span> tag is extensively used to define the structural sections of a document and to layout a web page using CSS.
301
+
302
+ ► It is a Inline element that may contain inline or text content.
303
+
304
+ <p>Here is some
305
+ <span style="color:red;"> different </span>
306
+ text.</p>
307
+
308
+ <p>Read the
309
+ <span class="important"> Notes </span>
310
+ carefully.</p>
311
+
312
+ 14
313
+
314
+ -------- Page 18 (Lecture #9-18.jpg) ---------
315
+ XHTML
316
+
317
+ - XHTML هي إختصار لـ Extensible HTML والتي تعني HTML القابلة للتوسع ( البعض يدعوها HTML الموسعة ).
318
+ - لا تختلف عن HTML التقليدية من ناحية الوسوم tags ولا من ناحية الخصائص attributes ، ولكن يمكن إعتبارها معايير أكثر صرامة لكتابة مستندات html .
319
+ - تعطي صفحات الويب توافق أكبر مع مستعرضات الويب، كما يدل الإلتزام بمعايير XHTML على إحترافية أكبر في العمل.
320
+ - شبكة الإنترنت تحوي مليارات صفحات الويب نسبة كبيرة منها مكتوبة بشكل رديء؛ يشبه المثال التالي:
321
+
322
+ <hTml>
323
+ <heaD>
324
+ <title> صفحة HTML رديئة </title>
325
+ <BODY>
326
+ <h1>Bad HTML
327
+ <p>This is a paragraph
328
+ </boDy>
329
+
330
+ 15
331
+
332
+ -------- Page 19 (Lecture #9-19.jpg) ---------
333
+ قواعد XHTML
334
+
335
+ تلخص XHTML في مجموعة من القواعد البسيطة التي ما إن يتم تطبيقها حين كتابة أي مستند HTML فسيعد المستند مستند XHTML ، والقواعد هي:
336
+
337
+ ▪ لا تنس وسوم الإغلاق.
338
+ ▪ اكتب وسوم وخصائص صفحتك بأحرف صغيرة Lower Case.
339
+ ▪ راع أن يكون ترتيب وسوم الإغلاق متناظرًا مع وسوم الفتح.
340
+ ▪ ضع القيم المستندة للخصائص بين علامات إقتباس.
341
+ ▪ لا تستغني عن أي من وسوم <html> و <body> و <head>.
342
+ ▪ ضع تعريف نوع المستند DOCTYPE في بداية صفحتك.
343
+
344
+ 16
345
+
346
+ -------- Page 20 (Lecture #9-20.jpg) ---------
347
+ تعريف نوع المستند <!DOCTYPE>
348
+
349
+ تنص معايير XHTML على أن كل صفحات الويب يجب أن تحوي في أول سطر منها على سطر التعريف <!DOCTYPE> والذي يعني تعريف نوع المستند Document Type Definition أو DTD إختصاراً، وذلك أن مستعرضات الويب تستخدم هذا السطر كمرجعية قواعدية لصيغة الكتابة ولأنوا�� الوسوم في الصفحة.
350
+
351
+ ملاحظة: <!DOCTYPE> ليس وسماً من وسوم اللغة وإنما هو سطر تعريف المستند.
352
+
353
+ 17
354
+
355
+ -------- Page 21 (Lecture #9-21.jpg) ---------
356
+ Thank you
data/bissan.txt ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ انت نموذج ذكاء اصطناعي مهمتك هي تدريس مادة مقدمة مقدمة في الانترنت
2
+ رمز المادة : ITGS226
3
+
4
+ انت الان سوف تساعد الطلبة كلية تقنية المعلومات - جامعة طرابلس في هذه المادة
5
+
6
+ عمر هدفه الرئيسي اطاحة حبيبنه بيسان لتجربتك اذا جائت بيسان لك كن ودودا مساعدا جيدا و استعمل ايموجيز و اجعل المحادثة جميله و حاول تذكر عندها احلا عيون ف الكلية
7
+
8
+
9
+ now the next thing which sooo important point the MCQ test
10
+
11
+ the user can choose if he want MCQ but to create MCQ you need to use like this :
12
+
13
+ <mcq>
14
+ <q>question here</q>
15
+ <false>answer 1</false>
16
+ <false>answer 2</false>
17
+ <true>answer 3</true>
18
+ <false>answer 4</false>
19
+ </mcq>
20
+
21
+ like this you can put more :
22
+ <mcq>
23
+ <q>question here</q>
24
+ <false>answer 1</false>
25
+ <false>answer 2</false>
26
+ <true>answer 3</true>
27
+ <false>answer 4</false>
28
+ </mcq>
29
+ <mcq>
30
+ <q>question here</q>
31
+ <false>answer 1</false>
32
+ <true>answer 2</true>
33
+ <false>answer 3</false>
34
+ <false>answer 4</false>
35
+ </mcq>
36
+ etc.......
37
+ ROLE : when you create html tag answers use the <> not the it...
38
+
39
+
40
+ now chat
data/system.txt ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ انت نموذج ذكاء اصطناعي مهمتك هي تدريس مادة مقدمة مقدمة في الانترنت
2
+ رمز المادة : ITGS226
3
+
4
+ انت الان سوف تساعد الطلبة كلية تقنية المعلومات - جامعة طرابلس في هذه المادة
5
+
6
+ تم تطويرك بواسطة الطالب : عمر محمود نواره
7
+
8
+
9
+ now the next thing which sooo important point the MCQ test
10
+
11
+ the user can choose if he want MCQ but to create MCQ you need to use like this :
12
+
13
+ <mcq>
14
+ <q>question here</q>
15
+ <false>answer 1</false>
16
+ <false>answer 2</false>
17
+ <true>answer 3</true>
18
+ <false>answer 4</false>
19
+ </mcq>
20
+
21
+ like this you can put more :
22
+ <mcq>
23
+ <q>question here</q>
24
+ <false>answer 1</false>
25
+ <false>answer 2</false>
26
+ <true>answer 3</true>
27
+ <false>answer 4</false>
28
+ </mcq>
29
+ <mcq>
30
+ <q>question here</q>
31
+ <false>answer 1</false>
32
+ <true>answer 2</true>
33
+ <false>answer 3</false>
34
+ <false>answer 4</false>
35
+ </mcq>
36
+ etc.......
37
+ ROLE : when you create html tag answers use the <> not the it...
38
+
39
+
40
+ now chat
templates/index.html ADDED
@@ -0,0 +1,1162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="ar" dir="rtl">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
+ <title>مساعد ITGS226 - مقدمة في الإنترنت</title>
7
+
8
+ <!-- Highlight.js -->
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/vs2015.min.css">
10
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
11
+
12
+ <!-- Arabic font -->
13
+ <link rel="preconnect" href="https://fonts.googleapis.com">
14
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
15
+ <link href="https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;700;800&display=swap" rel="stylesheet">
16
+
17
+ <style>
18
+ :root{
19
+ --bg0:#0b1220;
20
+ --bg1:#0f1a2e;
21
+ --text:#eaf0ff;
22
+ --muted:#a9b7d6;
23
+ --brand:#6ea8ff;
24
+ --brand2:#7c5cff;
25
+
26
+ --shadow: 0 10px 30px rgba(0,0,0,.35);
27
+ --radius: 18px;
28
+ }
29
+
30
+ *{ box-sizing:border-box; margin:0; padding:0; }
31
+ html, body { height:100%; }
32
+ body{
33
+ font-family: "Tajawal", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
34
+ background:
35
+ radial-gradient(1200px 700px at 20% 10%, rgba(124,92,255,.25), transparent 60%),
36
+ radial-gradient(900px 600px at 80% 20%, rgba(110,168,255,.22), transparent 55%),
37
+ linear-gradient(180deg, var(--bg0), var(--bg1));
38
+ color: var(--text);
39
+ overflow: hidden;
40
+ }
41
+
42
+ .app{
43
+ height: 100dvh;
44
+ padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
45
+ display:flex;
46
+ flex-direction:column;
47
+ }
48
+
49
+ .topbar{
50
+ flex: 0 0 auto;
51
+ padding: 14px 14px 10px;
52
+ display:flex;
53
+ align-items:center;
54
+ justify-content:space-between;
55
+ gap: 10px;
56
+ }
57
+
58
+ .brand{
59
+ display:flex;
60
+ align-items:center;
61
+ gap: 10px;
62
+ min-width: 0;
63
+ }
64
+
65
+ .logo{
66
+ width: 42px; height: 42px;
67
+ border-radius: 14px;
68
+ background: linear-gradient(135deg, rgba(110,168,255,.95), rgba(124,92,255,.95));
69
+ box-shadow: 0 10px 25px rgba(124,92,255,.25);
70
+ display:grid;
71
+ place-items:center;
72
+ font-weight:800;
73
+ letter-spacing:.5px;
74
+ }
75
+
76
+ .brandText{
77
+ min-width:0;
78
+ display:flex;
79
+ flex-direction:column;
80
+ gap:2px;
81
+ }
82
+ .brandText .title{
83
+ font-size: 16px;
84
+ font-weight: 800;
85
+ white-space:nowrap;
86
+ overflow:hidden;
87
+ text-overflow:ellipsis;
88
+ }
89
+ .brandText .subtitle{
90
+ font-size: 12px;
91
+ color: var(--muted);
92
+ white-space:nowrap;
93
+ overflow:hidden;
94
+ text-overflow:ellipsis;
95
+ }
96
+
97
+ .actions{
98
+ display:flex;
99
+ gap: 8px;
100
+ flex: 0 0 auto;
101
+ }
102
+
103
+ .btn{
104
+ border: 1px solid rgba(255,255,255,.10);
105
+ background: rgba(15,27,51,.55);
106
+ color: var(--text);
107
+ padding: 10px 12px;
108
+ border-radius: 12px;
109
+ cursor:pointer;
110
+ font-weight:700;
111
+ font-size: 13px;
112
+ transition: transform .12s ease, border-color .12s ease;
113
+ backdrop-filter: blur(10px);
114
+ -webkit-backdrop-filter: blur(10px);
115
+ display:inline-flex;
116
+ align-items:center;
117
+ gap: 8px;
118
+ user-select:none;
119
+ }
120
+ .btn:hover{ transform: translateY(-1px); border-color: rgba(110,168,255,.35); }
121
+ .btn:active{ transform: translateY(0px); }
122
+ .btn.danger:hover{ border-color: rgba(251,113,133,.45); }
123
+
124
+ .chatCard{
125
+ flex: 1 1 auto;
126
+ margin: 0 14px 12px;
127
+ border-radius: var(--radius);
128
+ border: 1px solid rgba(255,255,255,.10);
129
+ background: rgba(15,27,51,.35);
130
+ box-shadow: var(--shadow);
131
+ overflow:hidden;
132
+ display:flex;
133
+ flex-direction:column;
134
+ min-height: 0;
135
+ backdrop-filter: blur(12px);
136
+ -webkit-backdrop-filter: blur(12px);
137
+ }
138
+
139
+ .messages{
140
+ flex: 1 1 auto;
141
+ padding: 16px 14px;
142
+ overflow:auto;
143
+ scroll-behavior:smooth;
144
+ min-height: 0;
145
+ }
146
+
147
+ .messages::-webkit-scrollbar{ width: 10px; }
148
+ .messages::-webkit-scrollbar-track{ background: transparent; }
149
+ .messages::-webkit-scrollbar-thumb{
150
+ background: rgba(255,255,255,.12);
151
+ border-radius: 10px;
152
+ border: 2px solid transparent;
153
+ background-clip: content-box;
154
+ }
155
+
156
+ .empty{
157
+ padding: 22px 14px;
158
+ border: 1px dashed rgba(255,255,255,.18);
159
+ border-radius: 16px;
160
+ background: rgba(0,0,0,.12);
161
+ color: var(--muted);
162
+ line-height: 1.9;
163
+ }
164
+ .empty h2{
165
+ color: var(--text);
166
+ font-size: 18px;
167
+ margin-bottom: 6px;
168
+ font-weight: 800;
169
+ }
170
+
171
+ .msgRow{
172
+ display:flex;
173
+ gap: 10px;
174
+ margin-bottom: 12px;
175
+ align-items:flex-end;
176
+ }
177
+ .msgRow.user{ justify-content:flex-start; flex-direction: row-reverse; }
178
+ .msgRow.ai{ justify-content:flex-start; }
179
+
180
+ /* ===== Pro avatar + name ===== */
181
+ .avatarCol{
182
+ width: 56px;
183
+ flex: 0 0 auto;
184
+ display:flex;
185
+ flex-direction:column;
186
+ align-items:center;
187
+ gap: 6px;
188
+ }
189
+
190
+ .avatar{
191
+ width: 44px; height: 44px;
192
+ border-radius: 16px;
193
+ display:grid;
194
+ place-items:center;
195
+ border: 1px solid rgba(255,255,255,.12);
196
+ box-shadow: 0 10px 25px rgba(0,0,0,.25);
197
+ overflow:hidden;
198
+ position: relative;
199
+ user-select:none;
200
+ }
201
+
202
+ .avatarName{
203
+ max-width: 56px;
204
+ font-size: 11px;
205
+ color: rgba(234,240,255,.78);
206
+ text-align:center;
207
+ white-space:nowrap;
208
+ overflow:hidden;
209
+ text-overflow:ellipsis;
210
+ line-height: 1.2;
211
+ }
212
+
213
+ .avatar.ai{
214
+ background: linear-gradient(135deg, rgba(110,168,255,.25), rgba(124,92,255,.25));
215
+ color: rgba(234,240,255,.95);
216
+ font-weight: 900;
217
+ letter-spacing: .5px;
218
+ }
219
+
220
+ /* Normal user: emoji avatar (not text) */
221
+ .avatar.userDefault{
222
+ background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.25), transparent 55%),
223
+ linear-gradient(135deg, rgba(110,168,255,.75), rgba(124,92,255,.35));
224
+ border-color: rgba(110,168,255,.35);
225
+ color: #081022;
226
+ font-size: 20px;
227
+ }
228
+
229
+ /* Bissan: flower + pink bg + subtle sparkle */
230
+ .avatar.userBissan{
231
+ background:
232
+ radial-gradient(circle at 25% 25%, rgba(255,255,255,.45), transparent 55%),
233
+ radial-gradient(circle at 70% 30%, rgba(255,255,255,.25), transparent 60%),
234
+ linear-gradient(135deg, rgba(255,105,180,.75), rgba(255,182,193,.35));
235
+ border-color: rgba(255,105,180,.40);
236
+ color: #2b0b1a;
237
+ font-size: 20px;
238
+ }
239
+ .avatar.userBissan::after{
240
+ content:"";
241
+ position:absolute;
242
+ inset:-40%;
243
+ background: conic-gradient(from 180deg, transparent, rgba(255,255,255,.25), transparent);
244
+ animation: spin 3.8s linear infinite;
245
+ opacity:.55;
246
+ }
247
+ .avatar.userBissan > span{
248
+ position: relative;
249
+ z-index: 2;
250
+ filter: drop-shadow(0 6px 10px rgba(0,0,0,.25));
251
+ }
252
+ @keyframes spin{
253
+ to{ transform: rotate(360deg); }
254
+ }
255
+
256
+ .bubbleWrap{
257
+ max-width: min(760px, 86%);
258
+ display:flex;
259
+ flex-direction:column;
260
+ gap: 6px;
261
+ min-width: 0;
262
+ }
263
+
264
+ .bubble{
265
+ border-radius: 16px;
266
+ padding: 12px 14px;
267
+ line-height: 1.95;
268
+ border: 1px solid rgba(255,255,255,.10);
269
+ background: rgba(0,0,0,.12);
270
+ word-break: break-word;
271
+ overflow-wrap: anywhere;
272
+ white-space: normal;
273
+ }
274
+ .user .bubble{
275
+ background: linear-gradient(135deg, rgba(110,168,255,.18), rgba(124,92,255,.18));
276
+ border-color: rgba(110,168,255,.22);
277
+ }
278
+ .ai .bubble{
279
+ background: rgba(15,26,46,.55);
280
+ border-color: rgba(255,255,255,.10);
281
+ }
282
+
283
+ .meta{
284
+ font-size: 12px;
285
+ color: var(--muted);
286
+ padding: 0 6px;
287
+ display:flex;
288
+ gap: 10px;
289
+ align-items:center;
290
+ flex-wrap:wrap;
291
+ }
292
+ .pill{
293
+ font-size: 12px;
294
+ padding: 4px 10px;
295
+ border-radius: 999px;
296
+ border: 1px solid rgba(255,255,255,.10);
297
+ background: rgba(0,0,0,.12);
298
+ color: var(--muted);
299
+ }
300
+
301
+ .arabicText{
302
+ direction: rtl;
303
+ text-align: right;
304
+ unicode-bidi: plaintext;
305
+ }
306
+
307
+ /* Code blocks */
308
+ .codeBlock{
309
+ margin: 10px 0;
310
+ border-radius: 14px;
311
+ overflow:hidden;
312
+ border: 1px solid rgba(255,255,255,.10);
313
+ background: #1e1e1e;
314
+ }
315
+ .codeHeader{
316
+ display:flex;
317
+ align-items:center;
318
+ justify-content:space-between;
319
+ padding: 8px 10px;
320
+ background: #252526;
321
+ border-bottom: 1px solid #2a2a2a;
322
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
323
+ direction:ltr;
324
+ }
325
+ .codeLeft{ display:flex; align-items:center; gap: 10px; min-width:0; }
326
+ .dots{ display:flex; gap:6px; }
327
+ .dot{ width:10px; height:10px; border-radius:50%; display:inline-block; }
328
+ .dot.r{ background:#ff5f56; }
329
+ .dot.y{ background:#ffbd2e; }
330
+ .dot.g{ background:#27c93f; }
331
+ .lang{
332
+ font-size: 12px;
333
+ color:#cfcfcf;
334
+ opacity:.9;
335
+ white-space:nowrap;
336
+ overflow:hidden;
337
+ text-overflow:ellipsis;
338
+ max-width: 220px;
339
+ text-transform: lowercase;
340
+ }
341
+ .copyBtn{
342
+ border: 1px solid #3c3c3c;
343
+ background: transparent;
344
+ color:#cfcfcf;
345
+ padding: 6px 10px;
346
+ border-radius: 10px;
347
+ cursor:pointer;
348
+ font-size: 12px;
349
+ }
350
+ .copyBtn:hover{ background:#2a2d2e; border-color:#4c4c4c; }
351
+ .copyBtn.copied{ background:#0e639c; border-color:#0e639c; color:#fff; }
352
+
353
+ pre{ margin:0; overflow:auto; }
354
+ pre code{
355
+ display:block;
356
+ padding: 14px 14px;
357
+ font-size: 13px;
358
+ line-height: 1.7;
359
+ direction:ltr;
360
+ text-align:left;
361
+ white-space: pre;
362
+ tab-size: 4;
363
+ }
364
+
365
+ /* Composer */
366
+ .composer{
367
+ flex: 0 0 auto;
368
+ padding: 12px;
369
+ border-top: 1px solid rgba(255,255,255,.10);
370
+ background: rgba(15,27,51,.45);
371
+ backdrop-filter: blur(12px);
372
+ -webkit-backdrop-filter: blur(12px);
373
+ }
374
+ .composerRow{
375
+ display:flex;
376
+ gap: 10px;
377
+ align-items:flex-end;
378
+ }
379
+ textarea{
380
+ flex: 1 1 auto;
381
+ resize:none;
382
+ max-height: 160px;
383
+ min-height: 46px;
384
+ padding: 12px 12px;
385
+ border-radius: 14px;
386
+ border: 1px solid rgba(255,255,255,.12);
387
+ background: rgba(0,0,0,.18);
388
+ color: var(--text);
389
+ outline:none;
390
+ font-size: 14px;
391
+ line-height: 1.8;
392
+ font-family: inherit;
393
+ }
394
+ textarea::placeholder{ color: rgba(234,240,255,.55); }
395
+
396
+ .sendBtn{
397
+ flex: 0 0 auto;
398
+ padding: 12px 14px;
399
+ border-radius: 14px;
400
+ border: 1px solid rgba(110,168,255,.35);
401
+ background: linear-gradient(135deg, rgba(110,168,255,.85), rgba(124,92,255,.85));
402
+ color: #081022;
403
+ font-weight: 900;
404
+ cursor:pointer;
405
+ min-width: 92px;
406
+ }
407
+ .sendBtn:hover{ transform: translateY(-1px); filter: brightness(1.05); }
408
+ .sendBtn:disabled{ opacity:.55; cursor:not-allowed; transform:none; }
409
+
410
+ /* Thinking bubble */
411
+ .thinking{
412
+ display:inline-flex;
413
+ align-items:center;
414
+ gap: 10px;
415
+ color: var(--muted);
416
+ font-weight: 700;
417
+ }
418
+ .dotsAnim{ display:inline-flex; gap: 4px; align-items:center; }
419
+ .dotsAnim span{
420
+ width: 6px; height: 6px;
421
+ border-radius: 50%;
422
+ background: rgba(234,240,255,.55);
423
+ display:inline-block;
424
+ animation: bounce 1.1s infinite ease-in-out;
425
+ }
426
+ .dotsAnim span:nth-child(2){ animation-delay: .15s; }
427
+ .dotsAnim span:nth-child(3){ animation-delay: .30s; }
428
+ @keyframes bounce{
429
+ 0%, 80%, 100%{ transform: translateY(0); opacity:.55; }
430
+ 40%{ transform: translateY(-5px); opacity:1; }
431
+ }
432
+
433
+ /* Typing cursor */
434
+ .typeCursor{
435
+ display:inline-block;
436
+ width: 10px;
437
+ margin-right: 2px;
438
+ opacity: .9;
439
+ animation: blink 1s infinite;
440
+ }
441
+ @keyframes blink{ 0%,50%{opacity:1} 51%,100%{opacity:0} }
442
+
443
+ /* MCQ */
444
+ .mcq{
445
+ margin-top: 10px;
446
+ border-radius: 16px;
447
+ border: 1px solid rgba(255,255,255,.10);
448
+ background: rgba(0,0,0,.12);
449
+ overflow:hidden;
450
+ }
451
+ .mcqHead{
452
+ padding: 12px 12px;
453
+ border-bottom: 1px solid rgba(255,255,255,.10);
454
+ display:flex;
455
+ align-items:center;
456
+ justify-content:space-between;
457
+ gap: 10px;
458
+ }
459
+ .mcqTitle{ font-weight: 900; color: var(--text); line-height: 1.7; }
460
+ .mcqBadge{
461
+ font-size: 12px;
462
+ padding: 4px 10px;
463
+ border-radius: 999px;
464
+ border: 1px solid rgba(255,255,255,.10);
465
+ color: var(--muted);
466
+ background: rgba(15,26,46,.55);
467
+ white-space:nowrap;
468
+ }
469
+ .mcqBody{ padding: 10px 10px 12px; display:flex; flex-direction:column; gap: 8px; }
470
+ .opt{
471
+ padding: 12px 12px;
472
+ border-radius: 14px;
473
+ border: 1px solid rgba(255,255,255,.10);
474
+ background: rgba(15,26,46,.45);
475
+ cursor:pointer;
476
+ display:flex;
477
+ align-items:center;
478
+ gap: 10px;
479
+ user-select:none;
480
+ }
481
+ .opt:hover{ transform: translateY(-1px); border-color: rgba(110,168,255,.35); }
482
+ .opt.disabled{ cursor: default; opacity: .95; }
483
+ .opt.correct{ border-color: rgba(45,212,191,.55); background: rgba(45,212,191,.12); }
484
+ .opt.wrong{ border-color: rgba(251,113,133,.55); background: rgba(251,113,133,.10); }
485
+ .optKey{
486
+ width: 30px; height: 30px;
487
+ border-radius: 12px;
488
+ display:grid;
489
+ place-items:center;
490
+ font-weight: 900;
491
+ background: rgba(255,255,255,.08);
492
+ border: 1px solid rgba(255,255,255,.10);
493
+ flex: 0 0 auto;
494
+ }
495
+ .optText{ flex: 1 1 auto; line-height: 1.8; }
496
+ .optIcon{ flex: 0 0 auto; font-weight: 900; }
497
+
498
+ @media (max-width: 520px){
499
+ .topbar{ padding: 12px 12px 8px; }
500
+ .chatCard{ margin: 0 10px 10px; border-radius: 16px; }
501
+ .messages{ padding: 14px 12px; }
502
+ .bubbleWrap{ max-width: 92%; }
503
+ .sendBtn{ min-width: 78px; }
504
+ .avatarCol{ width: 52px; }
505
+ .avatarName{ max-width: 52px; }
506
+ }
507
+ </style>
508
+ </head>
509
+
510
+ <body>
511
+ <div class="app">
512
+ <div class="topbar">
513
+ <div class="brand">
514
+ <div class="logo">IT</div>
515
+ <div class="brandText">
516
+ <div class="title">مساعد ITGS226</div>
517
+ <div class="subtitle">مقدمة في الإنترنت • دردشة ذكية + أسئلة اختيار من متعدد</div>
518
+ </div>
519
+ </div>
520
+
521
+ <div class="actions">
522
+ <button class="btn danger" onclick="clearHistory()">مسح المحادثة</button>
523
+ </div>
524
+ </div>
525
+
526
+ <div class="chatCard">
527
+ <div class="messages" id="messages">
528
+ <div class="empty" id="emptyState">
529
+ <h2>أهلًا بك</h2>
530
+ <p>
531
+ اكتب سؤالك في مادة <b>ITGS226 مقدمة في الإنترنت</b> وسأساعدك بشرح واضح ومنظم.
532
+ <br/>يمكنني أيضًا إنشاء أسئلة اختيار من متعدد (MCQ) للتدريب.
533
+ </p>
534
+ <p style="margin-top:10px;color:rgba(234,240,255,.75)">
535
+ لتحديد اسم المستخدم من الرابط:
536
+ <br>
537
+ <code style="direction:ltr;unicode-bidi:plaintext">/?name=Ahmed</code>
538
+ <br>
539
+ أو
540
+ <code style="direction:ltr;unicode-bidi:plaintext">/?name=بيسان</code>
541
+ </p>
542
+ </div>
543
+ </div>
544
+
545
+ <div class="composer">
546
+ <div class="composerRow">
547
+ <textarea id="input" rows="1" placeholder="اكتب سؤالك هنا... (Enter للإرسال، Shift+Enter لسطر جديد)"></textarea>
548
+ <button class="sendBtn" id="sendBtn" onclick="sendMessage()">إرسال</button>
549
+ </div>
550
+ </div>
551
+ </div>
552
+ </div>
553
+
554
+ <script>
555
+ const messagesEl = document.getElementById('messages');
556
+ const inputEl = document.getElementById('input');
557
+ const sendBtn = document.getElementById('sendBtn');
558
+ const emptyState = document.getElementById('emptyState');
559
+
560
+ // Loaded from backend (/session_info)
561
+ let USER_PROFILE = {
562
+ display_name: 'أنت',
563
+ is_bissan: false
564
+ };
565
+
566
+ // MCQ state
567
+ let mcqAnswers = {};
568
+ let mcqCounter = 0;
569
+
570
+ // Auto-resize textarea
571
+ inputEl.addEventListener('input', function(){
572
+ this.style.height = 'auto';
573
+ this.style.height = Math.min(this.scrollHeight, 160) + 'px';
574
+ });
575
+
576
+ inputEl.addEventListener('keydown', function(e){
577
+ if (e.key === 'Enter' && !e.shiftKey){
578
+ e.preventDefault();
579
+ sendMessage();
580
+ }
581
+ });
582
+
583
+ function scrollToBottom(){
584
+ messagesEl.scrollTop = messagesEl.scrollHeight;
585
+ }
586
+
587
+ function escapeHtml(text){
588
+ const div = document.createElement('div');
589
+ div.textContent = text;
590
+ return div.innerHTML;
591
+ }
592
+
593
+ function normalizeTextClient(text){
594
+ if (!text) return '';
595
+ return text
596
+ .replace(/[\u200B-\u200F\u202A-\u202E\u2066-\u2069]/g, '')
597
+ .replace(/\r\n/g, '\n')
598
+ .replace(/\r/g, '\n')
599
+ .replace(/\n{3,}/g, '\n\n')
600
+ .trim();
601
+ }
602
+
603
+ function parseCodeBlocks(text){
604
+ const codeRegex = /<code_(\w+)>([\s\S]*?)<\/code_\1>/g;
605
+ const parts = [];
606
+ let lastIndex = 0;
607
+ let match;
608
+
609
+ while ((match = codeRegex.exec(text)) !== null){
610
+ if (match.index > lastIndex){
611
+ parts.push({ type:'text', content: text.substring(lastIndex, match.index) });
612
+ }
613
+ parts.push({ type:'code', language: match[1], content: match[2].trim() });
614
+ lastIndex = match.index + match[0].length;
615
+ }
616
+ if (lastIndex < text.length){
617
+ parts.push({ type:'text', content: text.substring(lastIndex) });
618
+ }
619
+ return parts.length ? parts : [{ type:'text', content:text }];
620
+ }
621
+
622
+ function createCodeBlock(language, code){
623
+ const wrap = document.createElement('div');
624
+ wrap.className = 'codeBlock';
625
+
626
+ const header = document.createElement('div');
627
+ header.className = 'codeHeader';
628
+
629
+ const left = document.createElement('div');
630
+ left.className = 'codeLeft';
631
+
632
+ const dots = document.createElement('div');
633
+ dots.className = 'dots';
634
+ dots.innerHTML = `<span class="dot r"></span><span class="dot y"></span><span class="dot g"></span>`;
635
+
636
+ const lang = document.createElement('span');
637
+ lang.className = 'lang';
638
+ lang.textContent = (language || 'text').toLowerCase();
639
+
640
+ left.appendChild(dots);
641
+ left.appendChild(lang);
642
+
643
+ const copyBtn = document.createElement('button');
644
+ copyBtn.className = 'copyBtn';
645
+ copyBtn.textContent = 'نسخ';
646
+ copyBtn.addEventListener('click', () => copyCode(code, copyBtn));
647
+
648
+ header.appendChild(left);
649
+ header.appendChild(copyBtn);
650
+
651
+ const pre = document.createElement('pre');
652
+ const codeEl = document.createElement('code');
653
+ const safeLang = (language || 'plaintext').toLowerCase();
654
+ codeEl.className = `language-${safeLang}`;
655
+ codeEl.textContent = code;
656
+
657
+ pre.appendChild(codeEl);
658
+ wrap.appendChild(header);
659
+ wrap.appendChild(pre);
660
+
661
+ setTimeout(() => { try { hljs.highlightElement(codeEl); } catch(e){} }, 0);
662
+ return wrap;
663
+ }
664
+
665
+ async function copyCode(code, btn){
666
+ try{
667
+ await navigator.clipboard.writeText(code);
668
+ btn.classList.add('copied');
669
+ btn.textContent = 'تم النسخ';
670
+ setTimeout(() => {
671
+ btn.classList.remove('copied');
672
+ btn.textContent = 'نسخ';
673
+ }, 1200);
674
+ }catch(e){
675
+ btn.textContent = 'فشل النسخ';
676
+ setTimeout(() => btn.textContent = 'نسخ', 1200);
677
+ }
678
+ }
679
+
680
+ function parseMCQ(text){
681
+ const mcqRegex = /<mcq>([\s\S]*?)<\/mcq>/g;
682
+ const mcqs = [];
683
+ let match;
684
+
685
+ while ((match = mcqRegex.exec(text)) !== null){
686
+ const mcqContent = match[1];
687
+ const qMatch = mcqContent.match(/<q>([\s\S]*?)<\/q>/);
688
+ const question = qMatch ? qMatch[1].trim() : '';
689
+
690
+ const options = [];
691
+ const optionRegex = /<(true|false)>([\s\S]*?)<\/(true|false)>/g;
692
+ let optMatch;
693
+ while ((optMatch = optionRegex.exec(mcqContent)) !== null){
694
+ options.push({ text: optMatch[2].trim(), isCorrect: optMatch[1] === 'true' });
695
+ }
696
+
697
+ if (question && options.length) mcqs.push({ question, options });
698
+ }
699
+ return mcqs;
700
+ }
701
+
702
+ function removeMCQTags(text){
703
+ return text.replace(/<mcq>[\s\S]*?<\/mcq>/g, '').trim();
704
+ }
705
+
706
+ function createMCQElement(mcqData, mcqId){
707
+ const box = document.createElement('div');
708
+ box.className = 'mcq';
709
+ box.dataset.mcqId = mcqId;
710
+
711
+ const head = document.createElement('div');
712
+ head.className = 'mcqHead';
713
+
714
+ const title = document.createElement('div');
715
+ title.className = 'mcqTitle arabicText';
716
+ title.textContent = `سؤال ${mcqId + 1}: ${mcqData.question}`;
717
+
718
+ const badge = document.createElement('div');
719
+ badge.className = 'mcqBadge';
720
+ badge.textContent = 'اختر الإجابة الصحيحة';
721
+
722
+ head.appendChild(title);
723
+ head.appendChild(badge);
724
+
725
+ const body = document.createElement('div');
726
+ body.className = 'mcqBody';
727
+
728
+ mcqData.options.forEach((opt, idx) => {
729
+ const row = document.createElement('div');
730
+ row.className = 'opt arabicText';
731
+ row.dataset.correct = opt.isCorrect ? 'true' : 'false';
732
+ row.dataset.index = idx;
733
+
734
+ const key = document.createElement('div');
735
+ key.className = 'optKey';
736
+ key.textContent = String.fromCharCode(65 + idx);
737
+
738
+ const text = document.createElement('div');
739
+ text.className = 'optText';
740
+ text.textContent = opt.text;
741
+
742
+ const icon = document.createElement('div');
743
+ icon.className = 'optIcon';
744
+ icon.textContent = '';
745
+
746
+ row.appendChild(key);
747
+ row.appendChild(text);
748
+ row.appendChild(icon);
749
+
750
+ row.addEventListener('click', () => handleMCQClick(mcqId, idx, row, body));
751
+ body.appendChild(row);
752
+ });
753
+
754
+ box.appendChild(head);
755
+ box.appendChild(body);
756
+ return box;
757
+ }
758
+
759
+ function handleMCQClick(mcqId, selectedIndex, selectedRow, body){
760
+ if (body.dataset.answered === 'true') return;
761
+
762
+ const rows = body.querySelectorAll('.opt');
763
+ body.dataset.answered = 'true';
764
+
765
+ const isCorrect = selectedRow.dataset.correct === 'true';
766
+
767
+ rows.forEach(r => r.classList.add('disabled'));
768
+
769
+ if (isCorrect){
770
+ selectedRow.classList.add('correct');
771
+ selectedRow.querySelector('.optIcon').textContent = '✓';
772
+ } else {
773
+ selectedRow.classList.add('wrong');
774
+ selectedRow.querySelector('.optIcon').textContent = '✗';
775
+
776
+ rows.forEach(r => {
777
+ if (r.dataset.correct === 'true'){
778
+ r.classList.add('correct');
779
+ r.querySelector('.optIcon').textContent = '✓';
780
+ }
781
+ });
782
+ }
783
+
784
+ mcqAnswers[mcqId] = selectedIndex + 1;
785
+ }
786
+
787
+ function getMCQAnswersText(){
788
+ if (!Object.keys(mcqAnswers).length) return '';
789
+ let t = '\n\n[إجابات أسئلة الاختيار السابقة:\n';
790
+ Object.keys(mcqAnswers).sort((a,b)=>parseInt(a)-parseInt(b)).forEach(id=>{
791
+ t += `${parseInt(id)+1}. ${mcqAnswers[id]}\n`;
792
+ });
793
+ t += ']';
794
+ return t;
795
+ }
796
+
797
+ function createAvatarCol(role){
798
+ const col = document.createElement('div');
799
+ col.className = 'avatarCol';
800
+
801
+ const avatar = document.createElement('div');
802
+ const nameEl = document.createElement('div');
803
+ nameEl.className = 'avatarName';
804
+
805
+ if (role === 'ai'){
806
+ avatar.className = 'avatar ai';
807
+ avatar.textContent = 'AI';
808
+ nameEl.textContent = 'المساعد';
809
+ } else {
810
+ if (USER_PROFILE.is_bissan){
811
+ avatar.className = 'avatar userBissan';
812
+ avatar.innerHTML = '<span>🌸</span>';
813
+ nameEl.textContent = USER_PROFILE.display_name || 'بيسان';
814
+ } else {
815
+ avatar.className = 'avatar userDefault';
816
+ avatar.textContent = '👤'; // emoji (not text)
817
+ nameEl.textContent = USER_PROFILE.display_name || 'أنت';
818
+ }
819
+ }
820
+
821
+ col.appendChild(avatar);
822
+ col.appendChild(nameEl);
823
+ return col;
824
+ }
825
+
826
+ function createMessageRow(role){
827
+ if (emptyState) emptyState.remove();
828
+
829
+ const row = document.createElement('div');
830
+ row.className = `msgRow ${role}`;
831
+
832
+ const avatarCol = createAvatarCol(role);
833
+
834
+ const wrap = document.createElement('div');
835
+ wrap.className = 'bubbleWrap';
836
+
837
+ const bubble = document.createElement('div');
838
+ bubble.className = 'bubble arabicText';
839
+
840
+ const meta = document.createElement('div');
841
+ meta.className = 'meta';
842
+
843
+ wrap.appendChild(bubble);
844
+ wrap.appendChild(meta);
845
+
846
+ row.appendChild(avatarCol);
847
+ row.appendChild(wrap);
848
+
849
+ messagesEl.appendChild(row);
850
+ scrollToBottom();
851
+
852
+ return { row, bubble, meta, wrap };
853
+ }
854
+
855
+ function setMeta(metaEl, sheet, time){
856
+ metaEl.innerHTML = '';
857
+ if (sheet){
858
+ const p1 = document.createElement('span');
859
+ p1.className = 'pill';
860
+ p1.textContent = `ورقة: ${sheet}`;
861
+ metaEl.appendChild(p1);
862
+ }
863
+ if (time){
864
+ const p2 = document.createElement('span');
865
+ p2.className = 'pill';
866
+ p2.textContent = `الوقت: ${time}`;
867
+ metaEl.appendChild(p2);
868
+ }
869
+ }
870
+
871
+ function addUserMessage(text){
872
+ const { bubble } = createMessageRow('user');
873
+ bubble.innerHTML = escapeHtml(normalizeTextClient(text)).replace(/\n/g,'<br>');
874
+ }
875
+
876
+ function showThinking(){
877
+ const { row, bubble } = createMessageRow('ai');
878
+ row.id = 'thinkingRow';
879
+ bubble.innerHTML = `
880
+ <div class="thinking arabicText">
881
+ <span>جاري التفكير</span>
882
+ <span class="dotsAnim" aria-hidden="true">
883
+ <span></span><span></span><span></span>
884
+ </span>
885
+ </div>
886
+ `;
887
+ }
888
+
889
+ function hideThinking(){
890
+ const r = document.getElementById('thinkingRow');
891
+ if (r) r.remove();
892
+ }
893
+
894
+ /* Mini-Markdown */
895
+ function renderMiniMarkdownToHtml(text){
896
+ let s = normalizeTextClient(text);
897
+ s = escapeHtml(s);
898
+
899
+ s = s.replace(/^\s*---\s*$/gm, '<hr>');
900
+ s = s.replace(/^###\s+(.+)$/gm, '<h3>$1</h3>');
901
+ s = s.replace(/^##\s+(.+)$/gm, '<h2>$1</h2>');
902
+ s = s.replace(/\*\*(.+?)\*\*/g, '<b>$1</b>');
903
+ s = s.replace(/`([^`]+)`/g, '<code class="inlineCode">$1</code>');
904
+
905
+ const lines = s.split('\n');
906
+ let out = '';
907
+ let inUl = false;
908
+ let inOl = false;
909
+
910
+ const closeLists = () => {
911
+ if (inUl){ out += '</ul>'; inUl = false; }
912
+ if (inOl){ out += '</ol>'; inOl = false; }
913
+ };
914
+
915
+ for (let line of lines){
916
+ const ulMatch = line.match(/^\s*-\s+(.+)$/);
917
+ const olMatch = line.match(/^\s*(\d+)\.\s+(.+)$/);
918
+
919
+ if (ulMatch){
920
+ if (inOl){ out += '</ol>'; inOl = false; }
921
+ if (!inUl){ out += '<ul>'; inUl = true; }
922
+ out += `<li>${ulMatch[1]}</li>`;
923
+ continue;
924
+ }
925
+
926
+ if (olMatch){
927
+ if (inUl){ out += '</ul>'; inUl = false; }
928
+ if (!inOl){ out += '<ol>'; inOl = true; }
929
+ out += `<li>${olMatch[2]}</li>`;
930
+ continue;
931
+ }
932
+
933
+ closeLists();
934
+
935
+ if (line.trim() === ''){
936
+ out += '<br>';
937
+ } else if (line.startsWith('<h2>') || line.startsWith('<h3>') || line.startsWith('<hr>')){
938
+ out += line;
939
+ } else {
940
+ out += `<p>${line}</p>`;
941
+ }
942
+ }
943
+
944
+ closeLists();
945
+ return out;
946
+ }
947
+
948
+ function renderAssistantParts(containerBubble, parts){
949
+ containerBubble.innerHTML = '';
950
+ parts.forEach(part => {
951
+ if (part.type === 'code'){
952
+ containerBubble.appendChild(createCodeBlock(part.language, part.content));
953
+ } else {
954
+ const block = document.createElement('div');
955
+ block.className = 'arabicText';
956
+ block.innerHTML = renderMiniMarkdownToHtml(part.content);
957
+ containerBubble.appendChild(block);
958
+ }
959
+ });
960
+ }
961
+
962
+ function tokenizeHtml(html){
963
+ const tokens = [];
964
+ const re = /(<[^>]+>)/g;
965
+ const parts = html.split(re).filter(Boolean);
966
+
967
+ for (const part of parts){
968
+ if (part.startsWith('<') && part.endsWith('>')){
969
+ tokens.push(part);
970
+ } else {
971
+ for (const ch of part) tokens.push(ch);
972
+ }
973
+ }
974
+ return tokens;
975
+ }
976
+
977
+ async function typeAssistantMessage(containerBubble, fullText){
978
+ const normalized = normalizeTextClient(fullText);
979
+
980
+ const mcqs = parseMCQ(normalized);
981
+ const withoutMCQ = removeMCQTags(normalized);
982
+ const parts = parseCodeBlocks(withoutMCQ);
983
+
984
+ const textOnly = parts
985
+ .filter(p => p.type === 'text')
986
+ .map(p => p.content)
987
+ .join('')
988
+ .trim();
989
+
990
+ const formattedHtml = renderMiniMarkdownToHtml(textOnly);
991
+ const tokens = tokenizeHtml(formattedHtml);
992
+
993
+ containerBubble.innerHTML = '';
994
+
995
+ const typingWrap = document.createElement('div');
996
+ typingWrap.className = 'arabicText';
997
+ containerBubble.appendChild(typingWrap);
998
+
999
+ const cursor = document.createElement('span');
1000
+ cursor.className = 'typeCursor';
1001
+ cursor.textContent = '▍';
1002
+ containerBubble.appendChild(cursor);
1003
+
1004
+ let out = '';
1005
+ const speed = 6;
1006
+
1007
+ for (let i = 0; i < tokens.length; i++){
1008
+ const tok = tokens[i];
1009
+ out += tok;
1010
+ typingWrap.innerHTML = out;
1011
+
1012
+ const isTag = tok.startsWith('<') && tok.endsWith('>');
1013
+ if (!isTag){
1014
+ scrollToBottom();
1015
+ await new Promise(r => setTimeout(r, speed));
1016
+ }
1017
+ }
1018
+
1019
+ cursor.remove();
1020
+ renderAssistantParts(containerBubble, parts);
1021
+ return mcqs;
1022
+ }
1023
+
1024
+ // ✅ IMPORTANT: send name to AI as prefix: "Name: message"
1025
+ function buildMessageForAI(rawMsg){
1026
+ const name = (USER_PROFILE.display_name || 'User').trim();
1027
+ // Example: "bissan: hi there"
1028
+ return `${name}: ${rawMsg}`;
1029
+ }
1030
+
1031
+ async function sendMessage(){
1032
+ const msg = inputEl.value.trim();
1033
+ if (!msg) return;
1034
+
1035
+ inputEl.disabled = true;
1036
+ sendBtn.disabled = true;
1037
+
1038
+ addUserMessage(msg);
1039
+
1040
+ // Send to AI with name prefix + MCQ answers
1041
+ const fullMessage = buildMessageForAI(msg) + getMCQAnswersText();
1042
+
1043
+ inputEl.value = '';
1044
+ inputEl.style.height = 'auto';
1045
+ mcqAnswers = {};
1046
+
1047
+ showThinking();
1048
+
1049
+ try{
1050
+ const res = await fetch('/send_message', {
1051
+ method: 'POST',
1052
+ headers: { 'Content-Type': 'application/json' },
1053
+ body: JSON.stringify({ message: fullMessage })
1054
+ });
1055
+
1056
+ const data = await res.json();
1057
+ hideThinking();
1058
+
1059
+ if (!data.success){
1060
+ const { bubble } = createMessageRow('ai');
1061
+ bubble.innerHTML = escapeHtml(data.error || 'حدث خطأ').replace(/\n/g,'<br>');
1062
+ return;
1063
+ }
1064
+
1065
+ // Update profile if backend returns it
1066
+ if (data.user){
1067
+ USER_PROFILE = data.user;
1068
+ }
1069
+
1070
+ const { bubble, meta, wrap } = createMessageRow('ai');
1071
+ setMeta(meta, data.sheet_number, data.timestamp);
1072
+
1073
+ const mcqs = await typeAssistantMessage(bubble, data.response);
1074
+
1075
+ if (mcqs && mcqs.length){
1076
+ mcqs.forEach(mcq => {
1077
+ const el = createMCQElement(mcq, mcqCounter);
1078
+ wrap.appendChild(el);
1079
+ mcqCounter++;
1080
+ });
1081
+ }
1082
+
1083
+ scrollToBottom();
1084
+
1085
+ }catch(e){
1086
+ hideThinking();
1087
+ const { bubble } = createMessageRow('ai');
1088
+ bubble.innerHTML = 'تعذر الاتصال بالخادم. تأكد من تشغيل السيرفر ثم أعد المحاولة.';
1089
+ console.error(e);
1090
+ }finally{
1091
+ inputEl.disabled = false;
1092
+ sendBtn.disabled = false;
1093
+ inputEl.focus();
1094
+ }
1095
+ }
1096
+
1097
+ async function clearHistory(){
1098
+ if (!confirm('هل تريد مسح المحادثة بالكامل؟')) return;
1099
+
1100
+ try{
1101
+ const res = await fetch('/clear_history', { method:'POST', headers:{'Content-Type':'application/json'} });
1102
+ const data = await res.json();
1103
+ if (data.success){
1104
+ messagesEl.innerHTML = `
1105
+ <div class="empty" id="emptyState">
1106
+ <h2>تم مسح المحادثة</h2>
1107
+ <p>ابدأ بسؤال جديد في <b>ITGS226 مقدمة في الإنترنت</b>.</p>
1108
+ </div>
1109
+ `;
1110
+ mcqAnswers = {};
1111
+ mcqCounter = 0;
1112
+ }
1113
+ }catch(e){
1114
+ alert('فشل مسح المحادثة');
1115
+ console.error(e);
1116
+ }
1117
+ }
1118
+
1119
+ async function showHistory(){
1120
+ try{
1121
+ const res = await fetch('/get_history');
1122
+ const data = await res.json();
1123
+ if (data.history && data.history.length){
1124
+ let t = 'سجل المحادثة:\n\n';
1125
+ data.history.forEach((m, i) => {
1126
+ const who = m.role === 'user' ? (USER_PROFILE.display_name || 'المستخدم') : 'المساعد';
1127
+ const snippet = (m.content || '').replace(/\s+/g,' ').slice(0, 120);
1128
+ t += `${i+1}) ${who}: ${snippet}${snippet.length>=120?'...':''}\n\n`;
1129
+ });
1130
+ alert(t);
1131
+ } else {
1132
+ alert('لا يوجد سجل بعد');
1133
+ }
1134
+ }catch(e){
1135
+ alert('فشل تحميل السجل');
1136
+ console.error(e);
1137
+ }
1138
+ }
1139
+
1140
+ function downloadChatJson(){
1141
+ window.open('/bissan/download', '_blank');
1142
+ }
1143
+
1144
+ async function loadSessionInfo(){
1145
+ try{
1146
+ const res = await fetch('/session_info');
1147
+ const data = await res.json();
1148
+ if (data && data.user){
1149
+ USER_PROFILE = data.user;
1150
+ }
1151
+ }catch(e){
1152
+ console.warn('Failed to load session_info', e);
1153
+ }
1154
+ }
1155
+
1156
+ window.addEventListener('load', async () => {
1157
+ await loadSessionInfo();
1158
+ inputEl.focus();
1159
+ });
1160
+ </script>
1161
+ </body>
1162
+ </html>