91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

使用HTML與CSS到底算不算程序員

Wildesbeast ? 來源:CSDN ? 作者:Amadou Ibrahim ? 2020-02-15 15:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有好多次,別人說我算不上程序員,因為我在用HTML + CSS編程。我非常傷心,因為別人都不認為我是開發(fā)人員。我們討論了好幾個小時,網(wǎng)上也有很多關于這個話題的討論。但仍然還有人否認這一點,那么就讓我們在本文中好好探討一番。

在深入探討之前,讓我們先來了解一下HTML + CSS的基礎知識。

根據(jù)維基百科:

超文本標記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于創(chuàng)建網(wǎng)頁的標準標記語言。

這意味著你需要使用HTML來構造顯示在網(wǎng)頁上的文檔。下面是一個基本的HTML頁面的例子:

除了HTML之外,你還可以利用CSS來美化頁面。這就是為什么我們會結合二者使用。

根據(jù)維基百科:

層疊樣式表(英語:Cascading Style Sheets,縮寫:CSS;又稱串樣式列表、級聯(lián)樣式表、串接樣式表、階層式樣式表)是一種用來為結構化文檔(如HTML文檔或XML應用)添加樣式(字體、間距和顏色等)的計算機語言。

下面是一個CSS文件的示例:

*{ box-sizing: border-box; max-width: 100%; } body{ font-size: 1.25rem; padding-bottom: 70px; background: #fff; }

編程語言的結構

首先,我不止一次聽說有人認為HTML + CSS沒有編程結構。那么編程結構是什么?經(jīng)過一番搜索后,我發(fā)現(xiàn),現(xiàn)代編程語言的編程結構幾乎都如出一轍??刂平Y構和數(shù)據(jù)結構。別著急,且聽我慢慢道來。

控制結構

控制結構指的是,分析變量并根據(jù)給定的參數(shù)選擇程序執(zhí)行順序的一塊程序。

控制結構包括順序控制、條件控制和循環(huán)控制。下面我來舉例說明。我使用Ruby語言來書寫示例。別擔心,Ruby很接近英語,非常易于理解。

順序控制:逐條執(zhí)行的指令。在下面的示例中,我們將執(zhí)行一系列指令。

# Sequences control-structures ## Set a new varibale age to 0. age = 0 ## Then another varibale required_age to 15. required_age = 15 ## Print this message "What is your age?" to the user puts "What is your age?" ## Get the user input and store it in age. Type 14 age = gets.chomp.to_i ## Print this message "You are 14 year's old" to the user puts "You are #{age} year's old"

條件控制:如果條件為true,則執(zhí)行此處的代碼。程序根據(jù)條件的結果,決定要執(zhí)行的代碼塊。

# Condition Control Structure ## Set a new varibale age to 15. age = 15 ## Then another varibale required_age to 16. required_age = 16 ## check if the user age is less than 16 if age < 16 ## If the condition is checked, print the message "Sorry, you can't pass the driver license!" to the user puts "Sorry, you can't pass the driver license!" else ## If the condition is not checked, print this message "Great! You can pass your driver license" to the user puts "Great! You can pass your driver license" end

上述指定的代碼塊將循環(huán)執(zhí)行多次,直到條件成立為止。示例中的條件是“counter”等于5。因此,這則消息輸出了5次。

# Loop Control Structure ## Set a variable "counter" to zero counter = 1 ## Iterate through the loop as long as "counter" is less than 5 while counter <=5 do ## Print "Get your driver license with LicenseGuru" puts "Get your driver license with LicenseGuru" ## Add 1 to the current value of counter counter+=1 end

那么,HTML+ CSS有這樣的控制結構嗎?你怎么看?

數(shù)據(jù)結構

什么是數(shù)據(jù)結構?維基百科上說:

數(shù)據(jù)結構(英語:data structure)是計算機中存儲、組織數(shù)據(jù)的方式。

簡單來說,數(shù)據(jù)結構表示組織數(shù)據(jù)、定義數(shù)據(jù)類型以及操作數(shù)據(jù)的方法。大多數(shù)編程語言都有不同類型的數(shù)據(jù),包括字符串、整數(shù)、布爾值、數(shù)組、對象...

那么,HTML + CSS也有這種數(shù)據(jù)結構嗎?此外,還有人說HTML + CSS不具備圖靈完備性——那么,圖靈完備性又是什么?

我的第一反應也是發(fā)懵。但經(jīng)過幾個小時的查閱后,我有了大致的了解。

簡而言之,在計算理論里,如果一系列操作數(shù)據(jù)的規(guī)則(如指令集、編程語言、細胞自動機)可以用來模擬單帶圖靈機,那么它是圖靈完備的。

圖靈機是英國數(shù)學家艾倫·圖靈于1936年提出的一種將人的計算行為進行抽象的數(shù)學邏輯機,其更抽象的意義為一種計算模型,可以看作等價于任何有限邏輯數(shù)學過程的終極強大邏輯機器。

圖靈機是一個規(guī)則、狀態(tài)和轉換的系統(tǒng),并不是指真正的機器。

如此說來,HTML + CSS確實不具備圖靈完備性。因為HTML + CSS無法更改系統(tǒng)狀態(tài)。也無法做出決策或根據(jù)輸入更改狀態(tài)……

那么,我還能說HTML + CSS是編程語言嗎?

CSS的控制結構

是的,你沒看錯,CSS有自己的控制結構方式。下面是一些例子。

順序控制

與其他編程語言一樣,我們可以在CSS中逐行執(zhí)行指令。

body{ // Set the background to white color background:#fff; // Set the font size to 20px font-size: 20px; // Set the background to yellow background:yellow; // Set the font size to 14px font-size:14px }

在上述代碼中,第一條指令被覆蓋, 所以最后的結果是:

條件控制

@media screen and (max-width: 567px) { // Style 1 } @media screen and (max-width: 900px) { // style 2 }

在上述代碼中,如果設備屏幕的最大寬度為567px,則應用樣式1;如果最大寬度為900px,則應用樣式2。因此,這就是一個條件控制。

@supports (display: flex) { navbar{ display:flex; } }

對于上述navbar的樣式代碼,如果用戶的設備支持,則顯示屬性將設置為“flex”。你甚至可以使用關鍵字“not”書寫false語句:

@supports not (display: flex) { div { float: left; } /* alternative styles */ }

循環(huán)控制

你是認真的嗎?是認真的。CSS也有類似循環(huán)的指令。盡管看上去與其他編程語言的循環(huán)有所不同。CSS的循環(huán)指令沒有“for”循環(huán)或“while”循環(huán)。讓我們看一下這段代碼:

li a{ font-weight:700; display: block; padding: 15px; margin-bottom:10px; background:#333; color:white; text-align: center; text-decoration: none; } li a.active{ background:red; color:white; }

第一段代碼告訴瀏覽器循環(huán)遍歷“l(fā)i”元素內(nèi)所有的“a”元素,然后應用給定的樣式。第二段代碼告訴瀏覽器再循環(huán)一遍。如果“a”元素的類為“active”,則應用給定的樣式。因此,我結合使用了循環(huán)和條件控制。

現(xiàn)在你是否同意HTML + CSS具有編程語言結構?你同意?那太好了!我們之間達成了共識,你可以走了。

哦?你還在繼續(xù)閱讀?你還有疑問?那么就讓我來一一解答吧。

如果有人說CSS具備圖靈完備性,你會說什么?你無言以對,是嗎?事實上,有一位名叫Eli Fox-Epstein的名人證明了這一點。他進行了一項實驗,并證明HTML + CSS具備圖靈完備性,而這個故事發(fā)生在2011年。有關的詳細信息,請點擊這里(https://accodeing.com/blog/2015/css3-proven-to-be-turing-complete)。

所以,你現(xiàn)在可以接受HTML + CSS是一種編程語言了嗎?

HTML + CSS就是當代網(wǎng)頁的“雙俠”(請參照電影《雙俠》)。

對于全世界所有的網(wǎng)站而言,無論其服務器端的語言是什么,前端都使用了HTML + CSS。

當目前為止,互聯(lián)網(wǎng)上的網(wǎng)站數(shù)目高達17億,供44億用戶使用。而且這個數(shù)字還在不斷增長。

這些網(wǎng)站又分為靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站。靜態(tài)網(wǎng)站僅使用HTML + CSS構建。而動態(tài)網(wǎng)站還用到了其他語言。

其他語言是什么意思?

為了讓HTML + CSS大放異彩,你還需要其他的編程語言來潤色。常見的編程語言包括PHP、Python、Ruby、Javascript等等。Facebook、Twitter、Google和Medium都是動態(tài)網(wǎng)站。他們的網(wǎng)站因結合了多種語言而得以蓬勃發(fā)展。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • HTML
    +關注

    關注

    0

    文章

    280

    瀏覽量

    48452
  • CSS
    CSS
    +關注

    關注

    0

    文章

    110

    瀏覽量

    15497
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    芯盾時代SDP助力企業(yè)應對核心機密泄露危機

    無論你是程序員、文案、財務,無論你想擼代碼、出海報、做報表,各式各樣的AI總能滿足你的需求,讓你的工作更加輕松。
    的頭像 發(fā)表于 12-26 11:49 ?664次閱讀

    大理的AI野心藏不住了——風花雪月中千名程序員探討人工智能

    2025 年12月4日至6日第二屆CCF程序員大會暨大理人工智能與應用國際開發(fā)者大會在大理圓滿落幕。
    的頭像 發(fā)表于 12-24 17:45 ?716次閱讀
    大理的AI野心藏不住了——風花雪月中千名<b class='flag-5'>程序員</b>探討人工智能

    程序員最常見謊言

    了。 28我已經(jīng)測試過了,這個功能沒問題,可以上線了。 29別擔心,這個問題很快就能解決。 30代碼快寫完了,已經(jīng)完成 90% 了 。 希望大家對程序員多一些容忍以及諒解! 各位程序員你們都被我說中了哪些?說說你們的觀點
    發(fā)表于 12-10 08:24

    IGBT到底是什么?-從名稱入手來帶您了解

    在微電子行業(yè)混久了的人,很少有不知道 IGBT 的。 圖示為IGBT模塊MG15P12P2:15A 1200V 7單元 IGBT的英文全稱和基礎概念對于電子技術程序員來說,想必已經(jīng)耳熟能詳。然而
    的頭像 發(fā)表于 11-25 17:38 ?1514次閱讀
    IGBT<b class='flag-5'>到底</b>是什么?-從名稱入手來帶您了解

    軟通國際亮相2025沙中開源與AI科技峰會

    2025年11月11日,由沙特程序員協(xié)會(parmg)主辦的"2025沙中開源與AI科技峰會"在利雅得盛大啟幕。
    的頭像 發(fā)表于 11-14 17:45 ?1470次閱讀

    奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官

    1024程序員日”系列活動至此劃上了一個圓滿句號。本屆1024程序員節(jié)以“AI構建世界,智能引領未來”為主題,廣邀技術大咖、產(chǎn)業(yè)領袖、企業(yè)代表與全球開發(fā)者齊聚星城
    的頭像 發(fā)表于 10-27 18:59 ?769次閱讀
    奔赴熱AI,碼力全開!Talkweb House@1024<b class='flag-5'>程序員</b>日系列活動圓滿收官

    開鴻智谷“以賽促學、以賽選才”|1024程序員節(jié)暨開源鴻蒙構建大會圓滿落幕!

    10月24日,由開鴻智谷聯(lián)合主辦的長沙1024程序員節(jié)暨開源鴻蒙構建大會在長沙圓滿落幕。本次活動以“湘聚長沙,共赴熱AI”為主題,通過技術分享與實戰(zhàn)競賽相結合的方式,著力培養(yǎng)“開源鴻蒙+AI”領域
    的頭像 發(fā)表于 10-27 17:58 ?702次閱讀
    開鴻智谷“以賽促學、以賽選才”|1024<b class='flag-5'>程序員</b>節(jié)暨開源鴻蒙構建大會圓滿落幕!

    Arm正式取消Cortex命名!CPU向著高算力進發(fā),Lumex CSS平臺加持!

    電子發(fā)燒友網(wǎng)報道(文/黃晶晶)日前,在Arm Unlocked上海站技術論壇上,Arm重磅推出智能終端專屬 Lumex CSS平臺。Lumex CSS是一套專為旗艦級智能手機及下一代個人電腦加速其人
    的頭像 發(fā)表于 09-17 08:25 ?3057次閱讀
    Arm正式取消Cortex命名!CPU向著高算力進發(fā),Lumex <b class='flag-5'>CSS</b>平臺加持!

    Arm Zena CSS加速軟件和芯片開發(fā)進程

    Arm 控股有限公司(納斯達克股票代碼:ARM,以下簡稱 Arm)近期宣布推出 Arm Zena 計算子系統(tǒng) (Compute Subsystems, CSS)。作為標準化且預先集成的計算平臺
    的頭像 發(fā)表于 08-25 16:22 ?2082次閱讀

    零線帶40幾伏算不算正常

    在家庭用電環(huán)境中,零線帶電現(xiàn)象常引發(fā)用戶擔憂。根據(jù)電工專業(yè)標準和實際案例分析,零線出現(xiàn)40多伏電壓是否正常需結合具體成因判斷,以下是詳細解讀: 一、零線帶電的基本原理 零線在理想狀態(tài)下應為零電位,但實際運行中可能因以下原因帶電: 1. 三相負載不平衡:當三相電流差異較大時,中性點偏移會導致零線產(chǎn)生電壓。根據(jù)《低壓配電設計規(guī)范》(GB50054),三相不平衡度超過15%時,零線電壓可能升至相電壓的10%-20%(即22V-44V)。 2. 零線阻抗
    的頭像 發(fā)表于 06-07 16:52 ?4186次閱讀
    零線帶40幾伏<b class='flag-5'>算不算</b>正常

    程序設計與數(shù)據(jù)結構

    的地址)出發(fā),采用推導的方式,深入淺出的分析了廣大C程序員學習和開發(fā)中遇到的難點。 2. 從方法論的高度對C語言在數(shù)據(jù)結構和算法方面的應用進行了深入講解和闡述。 3. 講解了絕大多數(shù)C程序員開發(fā)
    發(fā)表于 05-13 16:45

    計算機網(wǎng)絡排錯思路總結

    明人不說暗話,這篇文章我們來聊一個非常有用,同時也是程序員必備的技能,那就是網(wǎng)絡排錯思路大總結。
    的頭像 發(fā)表于 04-01 17:32 ?886次閱讀
    計算機網(wǎng)絡排錯思路總結

    如何在 樹莓派 上編寫和運行 C 語言程序?

    ,一本很好的書是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。這本書對經(jīng)驗豐富的程序員和想學習C語
    的頭像 發(fā)表于 03-25 09:28 ?1155次閱讀
    如何在 樹莓派 上編寫和運行 C 語言<b class='flag-5'>程序</b>?

    零基礎入門:如何在樹莓派上編寫和運行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?2032次閱讀
    零基礎入門:如何在樹莓派上編寫和運行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“數(shù)字導盲犬”?

    本文討論了一位程序員利用樹莓派、攝像頭、Gemini和Python構建PeregrineEye設備,使其成為“數(shù)字導盲犬”為視障者服務的項目經(jīng)歷,包括項目靈感、功能、構建過程、遇到的挑戰(zhàn)及未來計劃等
    的頭像 發(fā)表于 03-25 09:20 ?1919次閱讀
    Gemini Vision + Raspberry Pi 化身“數(shù)字導盲犬”?