2010-03-01 33 views
31

Tôi có một địa chỉ sẽ được hiển thị trên một trang web, nhưng nó không phải là địa chỉ cho tác giả của trang. Cách mã này được mã hóa thành ngữ nghĩa được cho là w3c recommendation của:Cách ngữ nghĩa nhất để hiển thị địa chỉ đường phố trong HTML là gì?

Yếu tố ADDRESS có thể được tác giả sử dụng để cung cấp thông tin liên hệ cho tài liệu hoặc phần chính của tài liệu như biểu mẫu. Phần tử này thường xuất hiện ở đầu hoặc cuối của tài liệu.

+2

Làm thế nào về Microformats? – Gumbo

+0

Gumbo: Đó thực sự không phải là kiểu W3C, hay tôi có sai không? – Franz

+0

@Franz: Microformats đang sử dụng các lớp học để mô tả. Và điều đó hoàn toàn hợp pháp. – Gumbo

Trả lời

21

Bạn có thể sử dụng hCard Microformat để mô tả địa chỉ của mình. Lợi thế của Microformats là bạn có thể sử dụng chúng trong các tài liệu hiện có của bạn để làm phong phú chúng.

Dưới đây là một ví dụ lấy từ ví dụ từ Microformats wiki:

<address class="vcard"> 
    <span class="adr"> 
    <span class="street-address">169 University Avenue</span> 
    <span class="locality">Palo Alto</span>, 
    <abbr class="region" title="California">CA</abbr>&nbsp;&nbsp; 
    <span class="postal-code">94301</span> 
    <span class="country-name">USA</span> 
    </span> 
</address> 
+2

Cảm ơn bạn đã chỉ ra rằng các div không được phép bên trong thẻ địa chỉ :) – Ally

+1

Xem thêm http://html5doctor.com/the-address-element/ –

+20

Cho rằng câu hỏi hỏi "nó không phải là địa chỉ cho tác giả của trang ", người ta không nên sử dụng phần tử địa chỉ HTML địa chỉ này. Phần tử địa chỉ chỉ có thể được sử dụng cho thông tin liên hệ của tác giả của một trang hoặc bài viết. Ở đây, phần tử địa chỉ phải là div, mặc dù p cũng có thể chấp nhận được. Bản nháp HTML5 cụ thể hơn về vấn đề này: http://dev.w3.org/html5/spec/sections.html#the-address-element –

4

bạn có thể sử dụng RDFa, ví dụ:

<html 
    xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:foaf="http://xmlns.com/foaf/0.1/" 
    xmlns:address="http://schemas.talis.com/2005/address/schema#" 
    xml:lang="fr" lang="fr" 
> 
<head>...</head> 
<body> 
    <div typeof="foaf:Person" about="http://you.openid.com#me"> 
    <span id="name" property="foaf:name">First Name, Last Name</span> 
    <address property="address:streetAddress">My Street, My City</address> 
    </div> 
</body> 
</html> 
9

Câu trả lời bởi Gumbo thiếu yếu tố then chốt. Một hcard/vcard là yêu cầu để có tên.

http://microformats.org/wiki/hcard#Property_List

Cũng thẻ địa chỉ không nên được sử dụng trong trường hợp này vì nó được sử dụng đặc biệt để liên quan đến các tác giả của trang nó được hiển thị trên.

<div class="vcard"> 
    <span class="fn">Tristan Ginger</span> 
    <span class="adr"> 
    <span class="street-address">169 University Avenue</span> 
    <span class="locality">Palo Alto</span>, 
    <abbr class="region" title="California">CA</abbr> 
    <span class="postal-code">94301</span> 
    <span class="country-name">USA</span> 
    </span> 
</div> 

Hầu hết các doanh nghiệp muốn để hiển thị địa chỉ của họ trên trang web của họ nên sử dụng như sau:

<address class="vcard"> 
    <span class="fn org">Tristan Ginger Inc</span> 
    <span class="adr"> 
    <span class="street-address">69 University Avenue</span> 
    <span class="locality">Great Bookham</span>, 
    <span class="region">Surrey</span> 
    <span class="postal-code">KT22 9TQ</span> 
    <span class="country-name">UK</span> 
    </span> 
</address> 
0

Bạn có thể sử dụng PostalAddress mục từ vựng của Schema.org cho việc này. Nó có thể được sử dụng qua Microdata, RDFa hoặc JSON-LD.

Ví dụ, sử dụng RDFa:

<div vocab="http://schema.org/" typeof="PostalAddress"> 
<span property="name">Google Inc.</span> 
P.O. Box<span property="postOfficeBoxNumber">1234</span> 
<span property="addressLocality">Mountain View</span>, 
<span property="addressRegion">CA</span> 
<span property="postalCode">94043</span> 
<span property="addressCountry">United States</span> 
</div> 

AFAIK, điều này cũng nên có giá trị với <address> ở vị trí của kèm theo <div>:

<address vocab="http://schema.org/" typeof="PostalAddress"> 
<span property="name">Google Inc.</span> 
P.O. Box<span property="postOfficeBoxNumber">1234</span> 
<span property="addressLocality">Mountain View</span>, 
<span property="addressRegion">CA</span> 
<span property="postalCode">94043</span> 
<span property="addressCountry">United States</span> 
</address> 
Các vấn đề liên quan