一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

根據(jù)維基百科:

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

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

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

根據(jù)維基百科:

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

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

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

編程語言的結(jié)構(gòu)

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

控制結(jié)構(gòu)

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

控制結(jié)構(gòu)包括順序控制、條件控制和循環(huán)控制。下面我來舉例說明。我使用Ruby語言來書寫示例。別擔(dān)心,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ù)條件的結(jié)果,決定要執(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有這樣的控制結(jié)構(gòu)嗎?你怎么看?

數(shù)據(jù)結(jié)構(gòu)

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

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

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

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

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

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

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

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

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

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

CSS的控制結(jié)構(gòu)

是的,你沒看錯,CSS有自己的控制結(jié)構(gòu)方式。下面是一些例子。

順序控制

與其他編程語言一樣,我們可以在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 }

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

條件控制

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

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

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

對于上述navbar的樣式代碼,如果用戶的設(shè)備支持,則顯示屬性將設(shè)置為“flex”。你甚至可以使用關(guān)鍵字“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”元素,然后應(yīng)用給定的樣式。第二段代碼告訴瀏覽器再循環(huán)一遍。如果“a”元素的類為“active”,則應(yīng)用給定的樣式。因此,我結(jié)合使用了循環(huán)和條件控制。

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

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

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

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

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

對于全世界所有的網(wǎng)站而言,無論其服務(wù)器端的語言是什么,前端都使用了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構(gòu)建。而動態(tài)網(wǎng)站還用到了其他語言。

其他語言是什么意思?

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

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

    關(guān)注

    0

    文章

    280

    瀏覽量

    42314
  • CSS
    CSS
    +關(guān)注

    關(guān)注

    0

    文章

    110

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    零線帶40幾伏算不算正常

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

    叉車AGV到底算不算特種設(shè)備?

    AGV在國內(nèi)制造業(yè)發(fā)展迅速,適應(yīng)未來生產(chǎn)模式轉(zhuǎn)型需求。叉車AGV歸屬爭議后,新規(guī)明確不納入特種設(shè)備范疇。AGV在制造業(yè)物料搬運中廣泛應(yīng)用,成為智能化工廠建設(shè)重要部分。
    的頭像 發(fā)表于 02-18 09:56 ?687次閱讀
    叉車AGV<b class='flag-5'>到底</b><b class='flag-5'>算不算</b>特種設(shè)備?

    ADS1298R內(nèi)部硬件有沒有去除耐極化電壓?還是直接在軟件上面設(shè)計了?

    你好,請問: 一:心電的耐極化電壓正負300mV,算不算共模電壓? 二:ADS1298R內(nèi)部硬件有沒有去除耐極化電壓?還是直接在軟件上面設(shè)計了?
    發(fā)表于 01-16 07:06

    阿里云升級通義靈碼AI程序員,全面上線

    近日,阿里云宣布其備受矚目的通義靈碼AI程序員已正式全面上線,為開發(fā)者帶來更為強大和便捷的編程輔助工具。 此次上線的通義靈碼AI程序員,在功能上實現(xiàn)了全面升級?,F(xiàn)在,它支持VS Code
    的頭像 發(fā)表于 01-09 11:16 ?710次閱讀

    TMS320C6000程序員指南

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000程序員指南.pdf》資料免費下載
    發(fā)表于 12-24 17:19 ?0次下載
    TMS320C6000<b class='flag-5'>程序員</b>指南

    TMS320C55x DSP CPU程序員參考補充

    電子發(fā)燒友網(wǎng)站提供《TMS320C55x DSP CPU程序員參考補充.pdf》資料免費下載
    發(fā)表于 12-21 11:36 ?3次下載
    TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補充

    UCD3138A64/UCD3138128程序員手冊

    電子發(fā)燒友網(wǎng)站提供《UCD3138A64/UCD3138128程序員手冊.pdf》資料免費下載
    發(fā)表于 12-09 14:42 ?0次下載
    UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊

    機械革命發(fā)布CODE AI程序員

    近日,英特爾新質(zhì)生產(chǎn)力技術(shù)生態(tài)大會在成都舉行,機械革命作為重要參展商帶來了多款明星產(chǎn)品引爆全場!其中更是在AI PC軟件生態(tài)產(chǎn)品發(fā)布分論壇上,Intel、智譜、機械革命三方聯(lián)合發(fā)布了專為程序員設(shè)計的CODE AI程序員本,成為本次大會的一大亮點。
    的頭像 發(fā)表于 11-30 10:34 ?1102次閱讀

    Tailwind CSS v4.0發(fā)布首個Beta版本

    Tailwind CSS 是一個為快速開發(fā)而精心設(shè)計的原子類 CSS 框架,它提供了充滿設(shè)計感和應(yīng)用程序至上的能力來創(chuàng)建組件,它在最新的 2.0 版本中加入了暗黑模式,開箱即用。
    的頭像 發(fā)表于 11-25 10:02 ?689次閱讀
    Tailwind <b class='flag-5'>CSS</b> v4.0發(fā)布首個Beta版本

    Linux驅(qū)動程序程序員指南

    電子發(fā)燒友網(wǎng)站提供《Linux驅(qū)動程序程序員指南.pdf》資料免費下載
    發(fā)表于 11-22 15:53 ?0次下載
    Linux驅(qū)動<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南

    AI編程工具會不會搶程序員飯碗

    AI編程工具可輔助編程,減少手動編碼,提升效率,對程序員有積極影響也有挑戰(zhàn)。程序員需深化技能、拓寬知識應(yīng)對。長遠看,AI與人類程序員將共生共榮。
    的頭像 發(fā)表于 11-08 10:17 ?527次閱讀

    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024程序員節(jié)成功舉辦

    10月24日,在武漢、成都、深圳等地政府指導(dǎo)下,鴻蒙生態(tài)服務(wù)公司舉辦了一場面向廣大開發(fā)者的盛會——鴻蒙1024程序員節(jié)暨鴻蒙原生應(yīng)用交流會。軟通動力子公司鴻湖萬聯(lián)作為開源鴻蒙生態(tài)的重要參與者和貢獻者
    的頭像 發(fā)表于 10-29 15:49 ?749次閱讀
    軟通動力子公司鴻湖萬聯(lián)助陣鴻蒙1024<b class='flag-5'>程序員</b>節(jié)成功舉辦

    第五屆長沙·中國1024程序員節(jié)開幕

    據(jù)官方媒體報道,10月24日;? 第五屆長沙·中國1024程序員節(jié)在湖南湘江新區(qū)開幕;本次中國1024程序員節(jié)以“智能應(yīng)用新生態(tài)”為主題。設(shè)置有岳麓對話、技術(shù)英雄會、主題峰會及賽事、展覽等活動,一場
    的頭像 發(fā)表于 10-25 15:42 ?494次閱讀

    PGA900能直接在CSS上編程嗎?

    您好,PGA900能直接在CSS上編程嗎? 可以通過XDS200下載程序到PGA900上面嗎?
    發(fā)表于 08-08 07:31

    京東上萬程序員都AI用它!

    對大模型生成代碼進行智能修復(fù),為程序員開啟代碼漏洞修復(fù)的“自動駕駛”模式,不但減少人工接入、提高工作效率,更為企業(yè)抵御內(nèi)外部各種攻擊構(gòu)建起一道堅固的安全屏障,確保業(yè)務(wù)的連續(xù)性和穩(wěn)定性。 JoyCoder是京東云自主研發(fā)的一款輔助開發(fā)人員
    的頭像 發(fā)表于 07-17 16:29 ?490次閱讀
    京東上萬<b class='flag-5'>程序員</b>都AI用它!